2011-03-05 64 views
3

所以在我的電腦上我只有Visual Studio 2010 Express。我需要編輯一個Visual Studio 2008項目,但它需要保存在C#3.5中。我可以在2010年編輯Visual Studio 2008項目,同時保持2008年唯一的項目嗎?

在2010年打開它並意外升級之前,它會保留在2008或C#3.5格式中嗎?

我意識到我不能使用.Net 2010功能,所以這沒問題。我只是想確定,如果我使用2010年保存我的2008年項目,我仍然可以在2008年打開它,它會正常工作。

回答

6

項目的目標框架與解決方案格式無關。也就是說,您可以將項目轉換爲Visual Studio 2010,並仍然定位到3.5框架。但是,一旦它轉化到2010年,你將無法在2008年

+0

那麼我需要將它轉換爲2010年才能在2010年打開它?還是我可以像2008年一樣離開?或者是自動轉換? – RJP 2011-03-05 18:15:42

+0

@Tonnie - 如果您在2010年打開該項目,它將自動轉換。您將無法在2008年打開該項目。 – ChrisF 2011-03-05 18:20:15

2

打開它沒有,VS2010將轉換VS2008的項目文件。轉換後,VS2008不能再打開它。有很多方法可以解決這個問題,簡單的解決方案是一直使用VS2010。接下來最好的事情是隻檢查源代碼更改。接下來最好的事情是給2010年的項目一個不同的名字並且保持它們兩個,至少現在是這樣。

1

總之,沒有。一旦升級,它就保持這種狀態。沒有官方的方法來降級它。這個事實背後的主要驅動因素是編譯器。即使您留在.NET Framework 3.5中,您仍然可以使用C#4.0功能(如可選/命名參數),因爲2010將始終使用4.0編譯器。

想象一下,如果您使用C#4.0語言功能,那麼它將保持2008格式。由於VS 2008始終使用C#3.0編譯器,因此無論您在2008年打開它,它都將不再編譯。這是避免發佈降級的解決方法的一個很好的理由 - 您會得到混合的編譯器功能,這些功能可以輕鬆地解決問題。

它是值得的,這是微軟的Connect網站上最受歡迎的功能之一,所以我相信這是在別人的雷達上。

+0

對於微軟來說,它們(在大多數簡單情況下)只需更改SLN/SOU文件中的幾行代碼即可,這使得解決方案/項目VS2008的'permamently'不可讀?您只需打開項目並進行轉換,而不與vs2010接口進行任何交互或轉換爲.net 4. – Independent 2011-03-05 18:30:16

1

你很難被意外升級它。當你在VS2010中打開一個VS2008項目時,它會自動啓動升級嚮導,你必須決定是否讓它升級,包括在升級之前決定是否讓它進行備份。

您無法打開VS2010 VS2008一個項目,並沒有首先將其升級到VS2010格式進行這項工作。一旦你允許VS2010升級它,你將無法再在VS2008中打開它。

小心,雖然 - 不要混淆你想要的目標框架的版本,VS的版本,您正在使用。

您可以使用VS2010將框架3.5作爲目標。

有跡象表明,讓你在VS2008開放VS2010升級項目的黑客,但它不是一個偉大的計劃,這條路走(猜我是怎麼知道的)。

1

我是在一個研討會上,他們把這個(短經典?)事故作爲版本的樣本。他們從混帳得到一個2008年的項目,並開始在其2010年VS

沒有升級過程,然後「OPS,我不能恢復升級」。他們將vs2010轉換後的文件交給了GIT的一個分支。當他們「再次回家」時,將項目變更與2008年解決方案文件合併在一起。

這可能不是在觸摸到你們這裏來,但

所有文件都完好無損,但解決方案/項目文件。因此,只要保持安全,您可以在2010年完成編輯後繼續使用2008版。

雖然沒有任何形式的解決方案/項目文件的手動處理 - 回答(關於您的主題中的問題)不是!

+0

存在一些可以完成這項工作的免費轉換器。還有一些文章告訴你通過記事本將SOU文件中的版本從[..10.0]更改爲[.9.0]以及類似的東西。然而,它包括手動步驟,我認爲只要複製SOU/SLN文件就簡單多了,我認爲最安全的方法就是複製文件,不要影響文件結構(添加/刪除文件),同時改變版本)。 – Independent 2011-03-05 18:24:58

1

當你將它與兼容的轉換至2010年,會要求您備份...

所以......以後你可以檢索你的文件回來...

4

您無法打開項目在VS2010中沒有升級。 Framework版本可以獨立控制,所以你仍然可以定位到3.5。

對使用​​2010的項目/解決方案文件所做的更改(假設您沒有使用任何新功能)是相當小的,所以在沒有提交項目/解決方案文件時可能會有里程數(您可能會達到此目的通過在您的本地文件夾中放置源控制提供程序的忽略文件,包括將自己的忽略文件添加到自身,以便不提交)。

如果您主要是編輯代碼(而不是經常更改解決方案中的項目或項目中的文件),那麼您也可以擁有兩個文件副本,每個版本一個副本,直到您可以承諾到處都是2010年(並且免費使用Express,您可以快速完成此操作?)。

1

我可能是錯的,但我幾乎可以肯定的是,項目文件在2008年和2010年之間沒有差異,或者至少它們是兼容的。解決方案文件是另一回事,舊的解決方案確實需要進行轉換。通常你對VS和2008版本的解決方案很少,但是它們包含了相同的項目,所以項目不需要轉換。

相關問題