2010-01-29 103 views
3

我感到困惑這一點 - 這些服務器都運行.NET2.0運行.NET 3.5的代碼在2.0 CLR

我可以編譯我的機器和目標上的代碼 - 我的機器和VS2008上安裝了.NET 3.5。 NET3.5仍然運行在2.0 CLR上?

是否有一個mtrix任何地方突出.net版本和CLR版本及其兼容性?

如何找出我正在使用的CLR?

回答

12

這是一個複雜的話題,但這裏是最高點。 3.5框架的兩個主要部分是一組庫,最着名的是System.Core.dll,還有一個CLR(2.0SP1)的服務包。

對於3.5庫,您無法安全地編譯應用程序,並將它們部署到僅運行2.0RTM的機器。這在某些情況下會起作用,但運氣確實如此。 3.5框架中的幾項功能依賴於2.0SP1中包含的錯誤修復。

您可以放心地做的是使用VS2008來定位2.0運行時。這將爲您提供大部分新的語言功能,同時允許您安全地部署到2.0RTM機器。

+0

+1 - 我不知道3.5增加了一個服務包的2.0 CLR(假設它是一樣的)。有用的知道。 – Paolo 2010-01-29 10:42:29

+1

現在最新的3.5框架安裝2.0 SP2。就在最近,他們自己發佈了一個單獨的2.0 SP2安裝程序:http://www.microsoft.com/downloads/details.aspx?familyid=5B2C0358-915B-4EB5-9B1D-10E506DA9D0F&displaylang=en – SwDevMan81 2010-01-29 12:40:05

0

.net 3.5實際上只是將擴展庫添加到2.0框架中。因此,你仍然運行2.0。

3.5不是替代品,它的一個補充!

0

.net 3.5在CLR 2上運行,但確實需要您在服務器上安裝3.5的最新SP - 這與現有的.net 2.0應用程序非常兼容。