如何将VS 2010解决方案转换回2008

时间:2009-12-14 00:15:50

标签: visual-studio-2010 visual-studio visual-studio-2010-beta-2

我们开始使用VS 2010并对它非常满意,因此我们将项目转换为2010解决方案(仍然是.net 3.5)并在2010年继续我们的开发。但是,我们最近收到了很多错误并希望回到2008年。解决方案文件已经改变(新项目和文件随处可见),但一切都在.net 3.5中。我想知道是否有一种简单的方法可以迁移回2008年。

8 个答案:

答案 0 :(得分:18)

根据他们是否在2008年和2010年之间保持解决方案文件结构类似,您只需在2008年创建一个空的解决方案文件并查看其中的顶部标识符行,并将其复制到另一个解决方案文件中。

然而,我怀疑他们是否保持相同,因为他们正在将许多功能集成到解决方案文件中。

最好在2008年创建一个新的空白解决方案并使用“添加现有项目”重新导入它们。只要您没有任何自定义“解决方案”广泛参考,这将起作用(没有解决方案文件夹,服务器设置等)。

这可能是最快捷,最直接的途径。

答案 1 :(得分: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

答案 2 :(得分:4)

假设您的解决方案处于源代码管理之下,从VS 2008迁移到VS 2010是该签入的唯一更改,只需比较两个版本并查看更改内容。

然后将受影响的行更改回VS 2008版本,您应该很高兴。

没有自动过程,因为微软将此视为单向操作。

答案 3 :(得分:3)

您可以在文本编辑器中手动编辑.sln文件。有一个名为version的字段,或者像那样,只需将其从10更改为9。

答案 4 :(得分:2)

这个问题

How does one convert a Visual Studio .NET 2008 solution to Visual Studio .NET 2005?

也可能适用于从2010年转换回2008年。

答案 5 :(得分:2)

您可以使用“Project Converter”: http://www.emmet-gray.com/Articles/ProjectConverter.htm

我刚刚找到它。我现在要测试它! : - )

答案 6 :(得分: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" />

这适用于我的解决方案,您可以尝试查看它是否适合您的案例。

答案 7 :(得分:0)

正如maZZoo所说,你必须替换.sln中的那些行,但如果你检查输出面板,你可能会有使用 ToolsVersion =“4.0”的警告,你必须在 .csproj 改为:

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