15

システムに.NET4.0および.NET4.5がインストールされていると仮定します。

.NET4.0を対象として作成されたアセンブリから.NET4.5アセンブリをロードして操作することは可能ですか?

簡単に言えば、Assembly.Load.NET 4.0コードから呼び出して、.NET 4.5ターゲティングアセンブリをロードできますか?

4

1 に答える 1

12

システムを.NET4.0および.NET4.5と想定します。

seheによってリンクされたmarcgravellのブログで述べられているように

4.5は、GACの4.0に加えて、インプレースのオーバーザトップインストールです。4.5をインストールすると、4.0は4.5アセンブリで実行されます

次に、4.0をターゲットとする.NETコード(4.0コンパイラでコンパイル)からAssembly.Loadを呼び出すと、実際には4.5フレームワークの実装を使用して実行されるため、4.5アセンブリをロードできなかった理由はわかりません。

margravellは、4.0のみがインストールされているシステムで.NET 4.5コンパイル済みコードを実行しようとすると、yield return / breakイテレーターの実装によりメソッド参照が欠落するため、問題が発生することを指摘しています。しかし、これはあなたに影響を与えるべきではありません。

于 2012-09-27T23:16:43.483 に答える