簡體   English   中英

我能否在 2010 年編輯 Visual Studio 2008 項目,同時將其保留為僅 2008 年的項目?

[英]Can I edit a Visual Studio 2008 project in 2010 while keeping it a 2008 only project?

所以在我的電腦上我只有 Visual Studio 2010 Express。 我需要編輯一個 Visual Studio 2008 項目,但它需要保留在 C# 3.5 中。

之前我2010打開不小心升級了,會一直保持2008還是C#3.5格式嗎?

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

項目的目標框架獨立於解決方案格式。 也就是說,您可以將項目轉換為 Visual Studio 2010,並且仍然以 3.5 Framework 為目標。 但是,一旦轉換為 2010,您將無法在 2008 中打開它。

VS2010 項目沒有升級是打不開的。 Framework版本可以獨立控制,所以還是可以針對3.5的。

使用 2010 對項目/解決方案文件的更改(假設您不使用任何較新的功能)相當小,因此不提交項目/解決方案文件可能會有里程(您可以通過刪除忽略來實現此目的在本地文件夾中為源代碼管理提供程序創建文件,包括將忽略文件添加到自身,這樣就不會提交)。

如果您主要是在編輯代碼(並且不經常更改解決方案中的項目或項目中的文件),您還可以擁有兩份文件副本,每個版本一份,直到您可以在任何地方提交到 2010 年(以及使用 Express免費的,你也許可以很快做到這一點?)。

不會,VS2010 會轉換VS2008 的工程文件。 轉換后VS2008打不開。 有很多方法可以解決這個問題,簡單的解決方案就是始終如一地使用 VS2010。 下一個最好的事情是只簽入源代碼更改。 下一個最好的辦法是給 2010 項目一個不同的名稱並同時維護它們,至少現在是這樣。

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

想象一下它保持 2008 格式但您使用 C# 4.0 語言功能的情況。 由於VS 2008一直使用的是C#3.0編譯器,所以2008打開的時候就不能編譯了。 這是避免為降級發布的變通辦法的一個很好的理由——你會得到混合的編譯器功能,這些功能很容易破壞事情。

你很難不小心升級它。 當你在VS2010中打開一個VS2008項目時,它會自動啟動升級向導,你必須決定是否讓它進行升級,包括決定是否讓它在升級前進行備份。

如果不先將其升級到 VS2010 格式,則無法在 VS2010 中打開 VS2008 項目並對其進行處理。 並且一旦你允許VS2010升級,你將無法再在VS2008中打開它。

不過要小心——不要將您要定位的框架版本與您正在使用的 VS 版本混淆。

您可以使用 VS2010 定位框架 3.5。

有一些 hack 可以讓您在 VS2008 中打開 VS2010 升級的項目,但沿着這條路走下去並不是一個好的計划(猜猜我是怎么知道的)。

我參加了一個研討會,他們把這個(不是經典的?)事故作為版本控制的樣本。 他們從 git 獲得一個 2008 項目並在 vs 2010 中啟動它。

進行了升級過程,然后“操作,我無法恢復升級”。 他們將 vs2010 轉換后的文件提交到 GIT 中的一個分支。 當他們“再次回家”時,將項目中的更改與 2008 解決方案文件合並在一起。

這可能與您沒有聯系,但感覺是

所有文件都完好無損,但解決方案/項目文件。 所以只要保證它們的安全,您就可以在 2010 年完成編輯后繼續使用 2008 版。

雖然,沒有任何類型的手動處理解決方案/項目文件 - 答案(關於您的主題中的問題)是否定的!

當您要將其轉換為兼容 2010 時,它會要求備份...

所以...稍后您可以取回您的文件...

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM