c# - usage - vb net control




C#2.0代碼使用C#3.0編譯的程序集 (2)

這應該很好看,因為CLR並沒有真正改變?

運行C#2.0代碼的盒子已經推出了.NET 3.5。

背景是,我們有一個Windows服務(VS2005構建的.NET 2.0 exe,部署到約150台服務器),動態加載程序集(幾乎像插件一樣)來完成各種工作項的查詢。 每當我們推出一個新版本的總線邏輯時,我們就把這些程序集放在一個FTP服務器上,然後windows服務就知道如何檢查,獲取和存儲最新版本。 現在使用VS2008構建新的程序集,並且使用.NET 2.0,我們知道這個工作正常。 不過,我們希望開始利用LINQ等C#3.0語言特性,並針對.NET 3.5定位程序集,而無需構建和部署新版本的Windows服務。


yield,var,lambda語法,anon類型和initialisers都是編譯器的聰明之處。 他們生產的IL是交叉兼容的。

小挑揀點,但收益是一個2.0的特點無論如何。


C#3和.Net 3.5添加了新的程序集,但IL沒有改變。

這意味著使用.Net 2程序集,您可以編譯和使用C#3,只要您不使用Linq或引用System.Linq或System.Core的其他任何內容

yieldvar ,lambda語法,anon類型和initialisers都是編譯器的聰明之處。 他們生產的IL是交叉兼容的。

如果你可以參考3.5的新程序集,它應該都可以工作。

沒有新版本的ASP.Net - 它應該仍然是2.0.50727 - 但你仍然應該編譯為3.5





.net-3.5