.NET 4.0プロジェクトで.NET 2.0混合モードのアセンブリを参照するために必要な '追加設定'は何ですか?

私のプロジェクトでは、.NET 4.0の機能のいくつかを使用したいと考えていますが、中核となる要件は、2.XでコンパイルされたSystem.Data.SQLiteフレームワークを使用できることです。これが可能であることについては、受け入れられた回答などで言及されていますが、実際にこれを実現する方法がわかりません。

2.Xのアセンブリを参照しながら4.0のプロジェクトを実行しようとすると、次のようになります。

4.0のプロジェクトで2.Xのアセンブリを参照して実行すると、次のようなメッセージが表示されます: *Mixed mode assembly is built against version 'v2.0.50727' of the runtime と表示されます。 と表示されます。

どのような追加設定が必要ですか?

ソリューション

CLR 2.0のmixed mode assemblyを使用するためには、App.Configファイルを変更して、以下を含める必要があります。

CLR 2.0のmixed mode assemblyを使用するには、App.Configファイルを次のように変更する必要があります。>




鍵となるのは、useLegacyV2RuntimeActivationPolicyフラグです。 これにより、CLRは最新のバージョン(4.0)を使用して混合モードのアセンブリをロードします。 これがないと動作しません。

このフラグは、混合モード(C++/CLI)のアセンブリにのみ関係することに注意してください。 このフラグを app.config で指定しなくても、すべてのマネージド CLR 2 アセンブリをロードすることができます。

解説 (8)

.NET Framework Developer Centerのこのフォーラム投稿を見てください。 何かのヒントになるかもしれません。

(アプリの設定ファイルに追加)





解説 (1)

対象とするフレームワークのバージョンによっては、正しい文字列を得るためにここを見る必要があるかもしれません。

http://msdn.microsoft.com/en-us/library/ee517334.aspx

私は、.Net 4.0をターゲットにしたリリースのクライアントがなぜフルバージョンを必要とするのかを理解しようとして何時間も費やしました。 最終的にはこれを使いました。



解説 (0)