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" /> 

这个工作对我的解决方案,你可以尝试,看看它是否适合你的情况。

相关问题