.NETバージョンには下位互換性がありますか?


8

長年にわたり、.NETのさまざまなバージョンがWSUSを介してクライアントマシンに展開されてきました。今では、多くのマシンでこれらのインストールが相互に関係しているようで、特定の.NETセキュリティアップデートが失敗しています。

.NETクリーンアップツールを実行してクライアント上のすべての.NETインストールを削除できることを確認したら、WSUSを介して.NET 3.5をプッシュアウトできます。これは、私がそれを試したマシンで私が持っている問題を解決したようです。

だから問題は:.NET 3.5を持っている場合、以前のバージョンもインストールする理由はありますか?

回答:


14

下位互換性は、使用するのが悪い用語です。.NET 1.0、1.1、および2.0は、相互に互換性のない独自のフレームワークです。.NET 3.0および3.5は、.NET 2.0ベースフレームワークを使用した2.0フレームワークのスーパーセットであり、追加のDLLを使用して追加機能を提供します(3.0にはWCFやWWFなどが含まれ、3.5にはLINQなどが含まれていました)。アプリケーション要件に関して:

  • 1.0アプリには.NET 1.0がインストールされている必要があります。
  • 1.1アプリには、.NET 1.1がインストールされている必要があります。
  • 2.0アプリには、.NET 2.0、3.0、または3.5がインストールされている必要があります。
  • 3.0アプリには、.NET 3.0または3.5がインストールされている必要があります。
  • 3.5アプリには、.NET 3.5がインストールされている必要があります。

.NET 4.0が2.0-3.5(2.0ベースに追加の機能DLLを含む)と同じモデルに従っていることは、かなり確実です。したがって、.NET 3.5をインストールすると、.NET 2.0-3.5アプリケーションがカバーされます。1.1アプリ(1.0アプリと同じ)を実行する場合は、.NET 1.1をインストールする必要があります。


4
.net 4は完全に新しいCLRであり、以前のバージョンと並行して実行されると確信しています-3 / 3.5のような拡張パックだけではありません
Michael Haren

@Michael-決定的な情報はまだ見つかりませんが、あなたが正しいようです。私の悪い。
エヴァンM.

+1。素晴らしい答え。これをサポートエンジニアに何回説明しなければならなかったのかはわかりません。
joeqwerty 2010年

2
msdn.microsoft.com/en-us/library/bb822049.aspxは、上記の内容を確認する記事です。そして、はい、4.0はスタンドアロンであり、他のバージョンに依存していません。
Larry Smithmier、

2

.NETはある程度下位互換性がありますが、フレームワークのバージョンを比較する必要があります。彼らが述べていることは、それが並んで互換性があるということです。他のバージョンをインストールする理由は間違いありません。特定のバージョンを対象とするようにアプリを作成できます。このバージョンがマシンに存在しない場合、アプリは失敗します。


それはちょっと私が思ったことです。私はこれをマシンごとに行う必要があると思います。
Boden

@ボーデン:通常、アプリを切り替えて別のフレームワークをターゲットにすることができますが、アプリのapp.configファイルまたはweb.configファイルを変更する必要があります。しかし、これはアプリに対して非常に多くの問題を引き起こし、完全に破壊する可能性があるので、これに対しては強くお勧めします。
squillman 2010年

おそらく3.5と4.0が4月にリリースされたときは4.0を導入することで、本当に良いカバレッジが得られるでしょう。3.5のCLRは2と同じなので、2と3.5を実行する必要はありません。非常に少数のアプリが1.1を実行するようになったため、これをオフにして、まれに必要になる場合にのみ含めることができます。
Michael Haren

-1

いいえ、.netには下位互換性がありません。MSは変更を行う権利を留保します。2.0 uから3.5はIIRCですが、それは「幸運な側面」です。必要なすべてのフレームワークがインストールされており、アプリケーションはそれがコンパイルされたフレームワークをターゲットとしています。これにより、MSは新しいバージョンをクリーンアップし、互換性のない変更を導入できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.