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

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

@Mike Atlas - 这也是我的第一反应 - 但是OP指出随着新项目和文件的出现,解决方案已经发生了变化。 - ChrisF
8个回答

18

根据2008和2010版本之间的解决方案文件结构是否相似,你只需要在2008中创建一个空的解决方案文件,查看其顶部标识符行,并将其复制到其他解决方案文件中。

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

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

这可能是最快、最直接的方法。


2
同意。创建一个空的VS08解决方案,然后将所有csproj文件添加到其中。然后你就完成了。这些csproj文件在两个解决方案中都可以正常工作。 - Lex Li

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

4
假设您的解决方案已经在源代码控制下,从VS 2008迁移到VS 2010是该提交中唯一的更改,请比较这两个版本,并查看有哪些更改。
然后将受影响的行更改回VS 2008版本,这样应该就可以了。
没有自动流程,因为Microsoft认为这是单向操作。

这是一篇提到以下内容的文章:http://blogs.msdn.com/rextang/archive/2009/07/06/9819189.aspx。我已经为此编写了一个简单的工具:http://code.google.com/p/vsprojconverter。 - jonny

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

1
是的,这是最简单的方法。 - Ravi Vanapalli

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

这在我的解决方案中有效,你可以尝试看看是否适用于你的情况。

2
这个问题可能也适用于将2010转换回2008。问题内容为:

如何将Visual Studio .NET 2008解决方案转换为Visual Studio .NET 2005?

链接1


2

失效链接 2017/03/23 - MickeyfAgain_BeforeExitOfSO

0

正如maZZoo所说,您需要在.sln文件中替换这些行,但是如果您检查输出面板,您可能会收到使用ToolsVersion="4.0"的警告,您需要将其替换为.csproj中的以下内容:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接