2010-08-09 45 views
1

我有許多使用VS2005(.Net 2.0)構建的程序集。我想在VS2010項目中引用它們。他們需要在VS2010中重建以在.Net 4.0框架中執行還是繼續在.Net 2.0框架中執行?從.NET 4.0的項目在Visual Studio中引用時在VS2010項目中使用VS2005程序集

回答

1

你的.NET 2.0組件將繼續正常工作2010年

這假定您已經安裝在機器其中兩個.NET 2.0和.NET 4.0框架你的應用程序將運行。 (.NET 4.0框架從「基礎」開始是全新的,而.NET 3.0和3.5的框架是「附加的」)。

默認情況下,預構建的程序集將繼續引用.NET 2.0框架(即mscorlib.dll等),而您的新Visual Studio 2010將引用.NET 4.0框架版本。從下面reflector看到屏幕抓取:

​​

(VS2005Test是VS2005對.NET 2.0構建一個類庫,並TestReferencingVS2005.exe是在Visual Studio 2010對.NET 4.0內置控制檯應用程序)

Visual Studio 2010還支持源代碼級項目的「multi-targeting」。這意味着你可以加載在VS 2005中編寫的項目的源代碼,並以.NET 2.0框架爲目標,VS2010將允許該項目繼續以2.0框架爲目標。當然,你也可以升級到4.0。因此,如果您不介意重新構建,並且不會導致您遇到問題,則可以使用Visual Studio 2010將您的程序集和最終應用程序都定位到.NET 2.0,或者將程序集「升級」到組件.NET 4.0以及您的應用程序。

+0

反射器視圖不代表運行時發生的情況。 – 2010-08-09 15:16:55

+0

@Hans - 真的嗎?那麼在運行時會發生什麼? – CraigTP 2010-08-09 15:20:15

+0

它使用mscorlib.dll的V4.0版本 – 2010-08-09 15:34:50

相關問題