2012-08-27 170 views
127

我正在與VS 2012的VB項目中工作,完成後我嘗試添加安裝項目。將VS2012解決方案轉換爲VS2010

我沒有發現它(因爲安裝項目在VS2010後停止),所以我切換到VS2010,但問題是該項目不會公開,我得到這個消息:

選定的文件是一個解決方案文件,但是由此應用程序的更新版本 創建,無法打開。

我試過這篇文章:http://www.codeproject.com/Tips/80953/Converting-VS2010-Solution-to-VS2008 並試圖從2012年轉換到2010年,但同樣的消息出現。

+0

打開你的網站爲什麼不乾脆用VS2010創建一個單一的安裝項目 - 據我記憶,你不需要包含項目,並可以自己添加文件 – Carsten

+0

好的,這可以是一個圍繞這個想法的工作是我們總是在相同的解決方案中包括項目的設置,以使編譯/部署快速 – HokaHelal

+1

vs2010有sp1嗎?我認爲你需要服務包才能打開2012項目/解決方案文件。 –

回答

306

我也遇到類似的問題。我google搜索,但無法找到解決方案。所以我嘗試了我自己,這是我的解決方案。

在記事本中打開解決方案文件。請2改變

  1. 替換 「格式版本12.00」 與 「格式版本11.00」(不帶引號)
  2. 替換 「#的Visual Studio 2012」 和 「#的Visual Studio 2010」(不帶引號)

希望這有助於ü以及..........

+3

這樣做是否有缺點?這似乎太容易成爲事實。 – kbeal2k

+4

它沒有爲我工作,它仍然保持它不兼容? – David

+0

這與Loada的答案一起工作完美。謝謝你們倆。 –

0

VS2010的解決方案由VS2012支持。 VS2010的解決方案不支持VS2010 - >僅限單向升級。 VS2012不支持安裝項目。 在這裏找到更多關於VS2010/VS2012的兼容性:http://msdn.microsoft.com/en-us/library/hh266747(v=vs.110).aspx

+1

通過該文檔的閱讀說明有些東西可以在兩者之間正常工作 - 這意味着您可以在VS2012中創建一個項目/解決方案,並在VS2010中打開它並沒有問題。然而,該文件表明,如果在2012年使用,有些東西不會允許您在2010年打開。http://stackoverflow.com/questions/10902865/is-visual-studio-2012-csproj-backward與2010年的兼容是另一個很好的,簡單的答案。 – brazilianldsjaguar

+0

如果您仔細閱讀,那麼您應該會看到一點細微差別:在VS2010中創建的項目在VS2012中工作,而不是其他方式。 「...你可以打開一個在Visual Studio 2010 SP1中創建的項目......」 –

120

只是爲了闡述Bhavin的出色答卷 - 編輯解決方案文件的工作,但你仍然可以得到不兼容的錯誤(如大衛報道)如果你在你的VS2012項目中選擇了.NET 4.5作爲默認的.NET版本並且喲你VS VS2010的環境不支持。

要快速解決該問題,請在文本編輯器中打開VS2012 .csproj文件,然後將TargetFrameworkVersion更改爲4.0(從4.5開始)。然後,VS2010將很高興地加載「編輯」的解決方案和項目。

您還必須以類似的方式編輯引用了.NET 4.5的app.config文件,以允許它們在.NET 4.0環境中運行。

+5

這與Bhavin的答案一起工作完美。謝謝你們倆。 –

+2

感謝您的提示!甚至可以用於降級ASP.NET web api項目。除了在sln中將格式版本12.00調整爲格式版本11.00,並且從4.5> 4.0調整csproj中的TargetFrameworkVersion元素之外,我必須刪除web.config中的httpRuntime元素,並將web.config中的編譯目標框架屬性從4.5> 4.0 – AardVark71

+0

*調整爲*另外*您可以像我一樣,通過.vcproj文件並將平臺工具集從v110更改爲V100。 – Xyon

1

打開項目文件而不是解決方案。該項目將由嚮導進行轉換,轉換後,當您構建項目時,將生成一個新的解決方案作爲VS2010。

2

我也有類似的問題,並沒有上述工作的解決方案,所以我有一個老待命永遠奏效去:

  1. 重命名包含項目
  2. 的文件夾製作用一個全新的項目,同名2010
  3. DIFF兩個文件夾和 - >
  4. 複製所有的源文件直接
  5. 忽略斌/調試/釋放等
  6. 比較。csproj並複製相關的所有行。
  7. 如果.sln文件只有一個項目,請忽略它。如果它很複雜,那就差一點。

如果你花了10分鐘時間並且無法得到它,那幾乎總是有效的。

請注意,對於舊版本(2008,2005)中的類似問題,通常只需更改.csproj中的版本並更改.sln中的版本或丟棄它,但似乎不會爲2013年工作。

0

簡單的解決方案,爲我工作。

  1. 安裝Windows的Vim編輯器。使用Vim編輯器並修改版本靶向Visual Studio解決方案10
  2. 與Visual Studio 2010中打開解決方案
  3. 打開VS 2012的項目解決方案..然後繼續你的工作;)
+0

爲什麼選擇Vim而不只是記事本? – Zac

2

最簡單的辦法是。 ....在vs2013打開你的網站,並去調試 - >網站性能(最後一個選項)一個新的窗口將打開..

在這個窗口轉到「生成」選項並更改.net框架版本從4.5至4.0 .....然後選擇確定。 [注:如果你的項目沒有與vs2013依賴這一步才起作用...]

現在在VS2010

相關問題