Apakah versi .NET mundur kompatibel?

8

Selama bertahun-tahun berbagai versi .NET telah digunakan untuk mesin klien saya melalui WSUS. Sekarang tampaknya pada banyak mesin instalasi ini telah disembunyikan satu sama lain, dan pembaruan keamanan .NET tertentu gagal.

Saya memverifikasi bahwa saya dapat menjalankan .NET cleanup tool untuk menyingkirkan semua instalasi .NET pada klien, dan saya kemudian dapat mendorong .NET 3.5 melalui WSUS. Ini sepertinya telah memecahkan masalah yang saya alami pada mesin yang saya coba.

Jadi pertanyaannya adalah: jika saya punya. NET 3.5, apakah ada alasan untuk juga menginstal versi sebelumnya?

Boden
sumber

Jawaban:

14

Kompatibel dengan mundur adalah istilah yang salah untuk digunakan. .NET 1.0, 1.1, dan 2.0 adalah kerangka kerja mereka sendiri yang tidak memiliki kompatibilitas satu sama lain. .NET 3.0 dan 3.5 adalah super set kerangka 2.0, menggunakan kerangka dasar .NET 2.0, dengan dll tambahan untuk menyediakan fitur tambahan (3.0 termasuk hal-hal seperti WCF dan WWF, 3.5 memiliki hal-hal seperti LINQ). Dalam hal persyaratan aplikasi:

  • Aplikasi 1.0 membutuhkan .NET 1.0 untuk diinstal.
  • Aplikasi 1.1 membutuhkan .NET 1.1 untuk diinstal.
  • Aplikasi 2.0 membutuhkan .NET 2.0, 3.0, atau 3.5 untuk diinstal.
  • Aplikasi 3.0 membutuhkan .NET 3.0 atau 3.5 untuk diinstal.
  • 3.5 aplikasi membutuhkan .NET 3.5 untuk diinstal.

Saya cukup yakin bahwa .NET 4.0 mengikuti model yang sama dengan 2.0 - 3.5 (basis 2.0 dengan dll fitur tambahan). Jadi menginstal .NET 3.5 akan melindungi Anda untuk aplikasi .NET 2.0 - 3.5. Anda harus menginstal .NET 1.1 jika Anda menjalankan aplikasi 1.1 (sama untuk aplikasi 1.0).

Evan M.
sumber
4
Saya cukup yakin .net 4 adalah CLR yang benar-benar baru yang berjalan berdampingan dengan versi sebelumnya - ini bukan hanya paket ekspansi seperti 3 / 3.5 dulu
Michael Haren
@Michael - Masih belum menemukan info yang pasti, tetapi tampaknya Anda benar. Salahku.
Evan M.
+1. Jawaban yang luar biasa. Saya tidak bisa memberi tahu Anda berapa kali saya harus menjelaskan ini kepada teknisi pendukung kami.
joeqwerty
2
msdn.microsoft.com/en-us/library/bb822049.aspx adalah artikel yang menegaskan apa yang Anda nyatakan di atas. Dan ya, 4.0 itu berdiri sendiri, tidak memiliki dependensi pada versi lain.
Larry Smithmier
2

.NET kompatibel ke belakang sampai batas tertentu, tetapi Anda harus membandingkan antara versi kerangka kerja. Apa yang mereka nyatakan adalah bahwa itu kompatibel berdampingan, yang merupakan masalah yang Anda hadapi. Pasti ada alasan untuk menginstal versi lain. Aplikasi dapat ditulis untuk menargetkan versi tertentu dan jika versi ini tidak ada pada mesin maka aplikasi akan gagal.

squillman
sumber
Itulah yang saya pikirkan. Saya kira saya harus melakukan ini pada mesin dengan mesin.
Boden
@Boden: Anda biasanya dapat mengganti aplikasi untuk menargetkan kerangka kerja yang berbeda, tetapi membutuhkan pengubahan aplikasi.config atau file web.config untuk aplikasi tersebut. Saya akan sangat menyarankan hal ini, karena hal itu dapat menimbulkan banyak masalah untuk aplikasi dan dengan demikian benar-benar memecahkannya.
squillman
Anda mungkin akan mendapatkan cakupan yang sangat bagus dengan menggunakan 3.5 sekarang, dan 4.0 saat dirilis pada bulan April. 3.5 memiliki CLR yang sama dengan 2 sehingga Anda tidak perlu melakukan 2 dan 3.5. Sangat sedikit aplikasi yang menjalankan 1.1 lagi sehingga Anda dapat mengabaikannya dan memasukkannya hanya dalam kasus yang jarang diperlukan.
Michael Haren
-1

Tidak, .net tidak kompatibel ke belakang. MS berhak untuk melakukan perubahan. 2,0 u hingga 3,5 adalah IIRC, tetapi itu lebih merupakan "sisi keberuntungan". Kesimpulannya adalah bahwa semua kerangka kerja diinstal yang diperlukan, dan aplikasi menargetkan kerangka kerja yang dikompilasi - ini memungkinkan MS untuk membersihkan versi baru dan memperkenalkan perubahan yang tidak kompatibel.

TomTom
sumber