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