1

これは、混合モード (再び .net3.5 をターゲットとする) アセンブリを介して .net3.5 アセンブリを使用する C++ アプリケーションのコンテキストにあります。ネイティブ アプリは、.net アセンブリを明示的に読み込みます。

主に、.net4 で .net3.5 アセンブリを使用した場合の影響を知りたいです。useLegacyV2RuntimeActivationPolicy の使用を提案するリンクがいくつか見つかりました。別の同様の質問の回答がありますが、それに対する回答は問題ありませんが、リンクをたどると、.net4 を対象に再コンパイルする方がよいと思います。

「...バージョン 2.0、3.0、および 3.5 用に作成されたアプリはすべてバージョン 3.5 で実行できますが、バージョン 4 以降では動作しません。」- MSDN

「一部のフレームワーク タイプは、バージョン間でアセンブリ間を移動しました...」 - SO 回答で

「わかりません。アプリケーションと、それが使用する API によって異なります。.NET 4 には重大な変更があり、このアプリケーションはおそらく 1 つに当たる可能性があります...」 - MSDN フォーラムの回答で

4

1 に答える 1

1

主に、.net4 で .net3.5 アセンブリを使用した場合の影響を知りたいです。

一般に、.NET 4 を強制するようにランタイム アクティベーション ポリシーを設定する必要があります。これは、3.5 アセンブリが CLR 2 ランタイムではなく、CLR 4 ランタイムを使用して実行されることを意味します。

ほとんどのシナリオでは、「問題なく動作」します。ただし、4.0 ランタイムに (リンクしたように) 微妙な変更があったため、問題が発生する可能性があるエッジ ケースが確実に存在します。

私の経験では、これらの問題は非常にまれであり、通常は問題なく動作します。4.0 アプリケーションで 3.5 の機能を使用する場合は、3.5 の機能を徹底的にテストすることをお勧めします。

于 2013-07-23T18:32:29.827 に答える