2009-10-21 71 views
0

將.NET應用程序從.NET2.0轉換爲.NET3.5時遇到問題。 我這樣做: 1.在Win XP中,我啓動VS2008並打開我的解決方案項目,其中包含4個項目; 2.在選項卡「應用程序」中的所有這4個項目屬性窗口中,我選擇目標框架值「.NET Framework 3.5」 3.我重建解決方案,但所有對.NET 2.0的舊引用仍然是......這是寫的,從2.0轉換到3.5之後的所有引用必須自動引用到3.5 dll,這是在我的電腦上。如何將Windows應用程序從.NET2.0轉換爲.NET3.5

我做錯了什麼?請幫助一些建議。謝謝

回答

1

你怎麼知道你是否引用.net 2.0而不是.net 3.5?因爲.net 3.5只是.net 2.0的擴展,並且基本上所有.net 3.5也都是.net 2.0程序集。 因此,如果您的代碼可以編譯時,您的目標.net 3.5,您已經在3.5

如果您的目標.net 3.5,則這意味着一些額外的程序集將啓用編譯(如LINQ相關的程序集),如果您的目標.net 2.0,這意味着這些程序集未啓用。

您所有的.net 2.0都可以毫無麻煩地轉換爲3.5。

+0

只有System.Core和System.Web.Extensions被引用爲.NET 3.5引用。所以我想其他一切都很好,我的解決方案轉換爲.NET 3.5 ...? – Vytas 2009-10-21 15:02:54

+0

是的,沒關係;所有的.net 2.0都可以毫無麻煩地轉換爲3.5。 – Graviton 2009-10-21 15:16:49

0

只要您從未改變項目的引用來引用系統程序集的「特定版本」,它們就會自動切換到3.5版本。

但是,您將需要添加對3.5中新增的任何引用。我的猜測是,你可能錯過了對System.Core的引用,這將增加LINQ支持。

+0

通過VS2008轉換向導,對「System.Core」的引用自動添加到我的解決方案中的所有項目中。不過,我不知道SP1是否是新的。 – 2011-06-10 14:15:46

4

你可能已經OK了。儘管聽起來3.5是2.0的升級,但它實際上更多是2.0的擴展。所有的DLL如System,System.Data等仍然是2.0版本。沒有任何3.5版本的System.Data。 3.5項目的區別在於有新的dll,如System.Core,System.Xml.Linq等等,都將是版本3.5

創建一個新的3.5項目,並將該項目的引用與您的升級項目,你會明白我的意思。

相關問題