3

これからのフォローアップです

WP7.1から移行されたWindowsPhone8 C#プロジェクト(MyApp)。ソリューションにネイティブのWindowsランタイムコンポーネントライブラリ(AppLib)を追加し、参照を作成しました。その中には公開された封印されたrefクラス(MyClass)があります。OnLoaded(メインのXAMLページの)C#コードにそれへの参照があります。すべてが構築されます。つまり、コンポーネントのメタデータが生成されます。

エミュレーターで実行しようとすると、プロジェクトは例外で失敗するかBadImageFormatException、次のメッセージで入力します。

間違った形式のプログラムを読み込もうとしました。(HRESULTからの例外:0x8007000B)

通常、.NETでCPUタイプを混在させようとすると、エラーが表示されます。

アクティブなプラットフォームは「混合プラットフォーム」です。構成マネージャーでは、MyApp「x86」およびAppLib「Win32」用にビルドするように構成されています。正常に実行されるバニラの新しく生成されたプロジェクトでは、構成は同じです。

質問-その構成の何が問題になっていますか?何を確認する必要がありますか?

編集:ソリューションに2番目の空白のC++ライブラリを追加しました- TestLib。これはロードされ、期待どおりに機能します。

EDIT2:AppLibのビルドからすべてを除外しました-動作します。次に、行を1つずつ追加します。問題の原因を確認してください...

4

2 に答える 2

1

完全に私のせい。AppLibの名前空間を変更したとき(リンクされた質問を参照)、MyApp名前空間のライブラリに1つの小さな宣言を残しました。

エラーはまだ誤解を招く可能性があります。質問を削除しますが、エラーメッセージは、ビルドCPUタイプなどを使用して、ガチョウを追いかけている人を確実に送信するため、そのままにしておきます。

于 2012-11-06T18:45:18.907 に答える
0

ほとんどの場合、ARM用にWindows Phoneライブラリを構築するべきではありませんか?先週の//Build/カンファレンスの「 WindowsPhone8:アプリケーションでのC ++の使用」セッションを見る機会がありましたか?それにはいくつかの答えが含まれるかもしれません。

于 2012-11-06T15:36:52.743 に答える