9

MEF や MAF などのコンテナーを使用して、.net 3.5 アプリケーション内に .net 4.0 アプリケーションをロードすることは可能ですか?

下位互換性のみが .net でサポートされているという事実を認識していますが、コンテナに違いはありますか?

4

1 に答える 1

3

それは不可能。アプリケーションが読み込まれると、CLR v2.0 (.NET 3.5) が使用されます。.NET 4.0 アセンブリでは CLR v4.0 を使用する必要があり、アプリケーションで 2 つの CLR を同時にホストすることはできないため、アセンブリの読み込み方法に関係なく、うまくいくとは限りません。

最良のオプションは、CLR v4.0 でアプリケーションを開始することです。

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
</startup>

編集

Jon Hanna のコメントに基づいて、「不可能」というフレーズは強すぎることがわかりました。.NET 4の一部である「CLR In-Process Side-by-Side」と呼ばれるものがあります。元の回答を引き続きお勧めしますが、これに関する詳細は次の場所にあります。

于 2014-02-23T21:33:20.917 に答える