17

我們開始使用VS 2010,對此非常滿意,因此我們將項目轉換爲2010年解決方案(仍然是.net 3.5),並在2010年繼續開發。但是,我們最近出現了很多錯誤,並希望回到2008年。解決方案文件已更改(新增項目和文件隨處添加),但所有內容仍位於.net 3.5中。我想知道是否有遷移回至2008年如何將VS 2010解決方案轉換回2008

+0

@Mike阿特拉斯 - 這將是我的第一個想法太 - 但OP指出,解決方案與新項目和文件改變。 – ChrisF 2009-12-14 00:20:41

回答

18

取決於是否適用他們在2008年到2010年間保持解決方案文件結構類似,您只需在2008年創建一個空的解決方案文件並查看其中的頂部標識符行,並將其複製到另一個解決方案文件中。

但是我懷疑他們保持不變,因爲他們將許多功能集成到解決方案文件中。

您最好在2008年創建一個新的空白解決方案,並使用「添加現有項目」重新導入它們。只要你沒有任何定製的「解決方案」廣泛的參考,這將工作(沒有解決方案文件夾,服務器設置等)。

這可能是最快和最直接的路線。

+2

同意。創建一個空白VS08解決方案,並將所有csproj文件添加到它。然後你就完成了。 csproj文件在兩種解決方案中均可正常工作。 – 2009-12-14 00:36:03

4

假設您的解決方案受源代碼控制,並且從VS 2008遷移到VS 2010是該簽入中的唯一更改,只需比較兩個版本並查看更改內容即可。

然後將受影響的行更改回VS 2008版本,您應該很好。

微軟將此視爲單向操作,沒有自動過程。

+0

這裏是提到的線條文章:http://blogs.msdn.com/rextang/archive/2009/07/06/9819189.aspx。我寫了簡單的工具,用於這一目的:http://code.google.com/p/vsprojconverter – jonny 2010-02-28 10:58:47

3

您可以在文本編輯器中手動編輯.sln文件。有場命名的版本,或類似的,只是從10到9

+1

是的,這是最簡單的方法。 – Ravia 2012-02-14 09:58:18

10

我成功從改變前兩行更改:

Microsoft Visual Studio Solution File, Format Version 11.00 
# Visual Studio 2010 

Microsoft Visual Studio Solution File, Format Version 10.00 
# Visual Studio 2008 
+0

感謝。有用! – 2012-07-19 07:30:04

+0

沒有爲我工作,我是用C++ CUDA項目 – TripleS 2013-02-18 16:23:48

0

爲maZZoo告訴,你要替換的.sln那些行,但如果您檢查輸出面板可能無法使用ToolsVersion的警報=「4.0」,必須更換,在的.csproj到:

<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
2

請嘗試以下方法(找到第一線並更換到第二線轉換2010解決方案,2008年):

TargetFrameworkMoniker = ".NETFramework,Version=v2.0" 
TargetFramework = "3.5" 

# Visual Studio 10 
# Visual Studio 2008 

Microsoft Visual Studio Solution File, Format Version 11.00 
Microsoft Visual Studio Solution File, Format Version 10.00 

<Project ToolsVersion="4.0" 
<Project ToolsVersion="3.5" 

<ProductVersion>10.0.20506</ProductVersion> 
<ProductVersion>9.0.30729</ProductVersion> 

\VisualStudio\v10.0\ 
\VisualStudio\v9.0\ 

<Import Project="$(MSBuildToolsPath)\Workflow.Targets" /> 
<Import Project="$(MSBuildExtensionsPath)\Microsoft\Windows Workflow Foundation\v3.5\Workflow.Targets" /> 

這個工作對我的解決方案,你可以嘗試,看看它是否適合你的情況。

相關問題