私は管理対象のC++アセンブリで奇妙な問題に遭遇しています。私はC#プロジェクトとマネージドC++(DLL)プロジェクトを.NET 3.5をターゲットに設定していますが、マネージアセンブリをコンパイルすると、その "ランタイムバージョン"は2.0になります。特定の.NETバージョン(VS2008)に対してマネージC++アセンブリをコンパイル
.NET 3.5プロジェクトと.NET 4.0バージョンのCSScriptで同じアセンブリを使用しようとしていますが、CSScriptは.NET 2.0アセンブリで実行することを拒否しています(「ランタイム例外:混合モードアセンブリはバージョン 'v2.0.50727'のランタイムであり、追加の構成情報なしで4.0ランタイムでロードすることはできません。私は、.NET 3.5をターゲットとC#プロジェクトを作成します
- : は、私は、次の(VS 2008で行われたすべての作業)に問題をローカライズするために管理しました。
- 空のC++プロジェクトを同じソリューションで作成します。
- 空の.cppファイルをC++プロジェクトに追加します。
- 構成タイプ=ダイナミックライブラリ(.dll)、共通言語ランタイムサポート=共通言語ランタイムサポート(/ clr)、共通プロパティの "対象フレームワーク"が3.5に設定されていることを確認してください。
- C++プロジェクトをコンパイルし、C#プロジェクトへの参照として追加します。
C#プロジェクトの参照のプロパティを見ると、「ランタイムバージョン」がv2.0.50727であることがわかります。私の質問は、一体何ですか?
なぜランタイムバージョン2.0ですか?私はすべてを3.5に設定しました...管理されたC++プロジェクトを.NET 3.5用にコンパイルするにはどうすればいいですか?
おかげで、 マレク
.NET 4.0プロジェクトで.NET 2.0混在モードアセンブリを参照するには、[何の追加設定が必要ですか?](http://stackoverflow.com/questions/2455654/what-additional-configuration- a-net-2-0-mixed-mode-a) –