4

mvvmcross には、WinRT 用の SQLite を参照するプラグイン クラス ライブラリがあります。

このため、そのクラス ライブラリを AnyCPU としてビルドすることはできません。代わりに、x86、x64、または Any CPU として参照する必要があります。

これは、新しいクライアント アプリケーションが 1 つの DLL を参照するだけでなく、個々の構成が異なる入力アセンブリを参照する必要があることを意味します。現在、条件を使用して.csprojファイルを手動で編集することでこれを行っています。

ただし、これは少しエラーが発生しやすいです (そして、説明するのが少し難しいです!)

MSBuild が実行時に適切なバージョンを選択できるように、クライアント アプリケーションが x86/x64/ARM クラス ライブラリのトリオを参照する「簡単な」方法 (1 クリックの方法) はありますか?

4

1 に答える 1

0

アプリケーションが完全なパフォーマンスに依存していない場合は、クラス ライブラリと実行可能ファイルを任意の CPU として設定できるように、完全に管理された (任意の CPU) C# SQLite に切り替えることができます。

または、依存性注入または MEF を使用して、実行時に正しいビット数のアセンブリ/タイプを挿入することもできます。この方法では、コンパイル時に常にインターフェイスに対して作業します (ビット数に依存しません)。

私の知る限り、MSBuild は希望どおりにビット数を自動的に処理できません。

于 2013-01-09T05:08:00.233 に答える