3

VS2010 で .net 3.5 から .net 4.0 に変換する ac# プロジェクトがあります。v2.0.50727 のランタイム バージョンを持つ他のサード パーティの dll への参照があります。

どうすればいいの?ビルドまたは実行中に警告または破損が発生することを期待していましたが、そうではありませんでした。コンパイル済みの .net 4 プロジェクトが .net v4.0.30319 ランタイムで実行されている場合、参照されている dll を .net 2.0.50727 ランタイムで実行していますか? したがって、古いバージョンの .net をインストールする必要がありますか?

または、参照されている dll は v4.0.30319 ランタイムで実行されていますか?

4

2 に答える 2

5

いいえ、それは自動的に機能します。v4 CLR は、古い v2 アセンブリ参照に問題がなく、これらのアセンブリの v4 バージョンに 1 対 1 で変換します。または、これがフレームワーク以外のアセンブリである場合、魔法のようなことは何も起こらず、v2 アセンブリのメタデータを読み取ることができます。

むしろ必要なことですが、バージョン 4.0 が機能しない場合にバージョン 4.0 に移行することを選択したプログラマーはほとんどいなかったでしょう。4.0 での期限切れのバグ修正が別の動作を引き起こしたいくつかの孤立したケースがありましたが、それらは非常にまれです。

于 2013-09-18T14:35:42.317 に答える
0

リンクの腐敗を防ぐためにコメントされた質問から:

「はい、フレームワークの上位バージョンのアプリケーションから 2.0 クラス ライブラリを参照できますが、その逆はできません。

.NET バージョンの互換性はいつでも確認できます。(4 への移行にはいくつかの注意事項がありますが、一般的に言えば問題ありません。) --Brad Christie

目にする可能性のある問題は、バージョン 2 より前のバージョンから発生する可能性があります。 2 つの .net バージョンをサイドロードしたい人はあまりいないからです」 --wsanville

.NET 4構成で「useLegacyV2RuntimeActivationPolicy」は何をしますか?

于 2013-09-18T14:32:55.910 に答える