【问题标题】:How can I maintain a VS 2005 solution in Visual Studio 2008?如何在 Visual Studio 2008 中维护 VS 2005 解决方案?
【发布时间】:2009-04-14 22:13:21
【问题描述】:
我的任务是维护 Visual Studio 2005 解决方案,但我只能访问 Visual Studio 2008。每当我尝试在 Visual Studio 2008 中打开旧解决方案时,IDE 都会热衷于将解决方案转换为新版本.
在此转换过程中究竟发生了什么,有没有办法阻止它(因为我需要交付代码以便它可以在 2005 年打开)?
【问题讨论】:
标签:
visual-studio-2008
visual-studio-2005
projects-and-solutions
【解决方案1】:
这是 2005 年解决方案文件的开头:
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
这是 2008 年:
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
除此之外,您无需更改任何内容(在我们的案例中,它就是这样工作的)。
【解决方案2】:
我的建议是你应该先备份项目,然后你应该运行 VS 2008 的迁移向导。当它询问你是否要查看迁移过程中更改的所有文件的报告时,选择是。它将显示在此过程中更改的文件列表。
几乎在所有情况下,更改的文件仅限于版本号更改的项目文件。但是,没有硬性规定不会改变任何其他内容,您不应该依赖这一点。恕我直言,最好的方法是检查“已更改”列表中提到的每个文件中的更改。
如果唯一更改的文件是项目文件,您应该能够轻松地在 VS 2008 中维护代码。当您需要重新部署时,只需将项目文件中的版本改回即可。
【解决方案3】:
Jon Skeet 写了一个post,关于使 VS2008 解决方案与 VS2005 共存。
如@Igor Brejc 所述,解决方案文件的版本号将略有不同。但是,也对项目文件进行了一些更改。这些更改在this article where there also is a nifty VS2005-VS2008 converter application available 中进行了描述:
+==========================+====================+==========================+
| Element | VS2005 | VS2008 |
+==========================+====================+==========================+
| Tools Version | absent | 3.5 |
+--------------------------+--------------------+--------------------------+
| Product Version | 8.0.50727 | 9.0.21022 |
+--------------------------+--------------------+--------------------------+
| Old Tools Version | absent | 2.0 (if converted) |
+--------------------------+--------------------+--------------------------+
| Target Framework Version | absent | 2.0 |
+--------------------------+--------------------+--------------------------+
| Bootstrapper | .NET Framework 2.0 | .NET Framework 2.0 (x86) |
+--------------------------+--------------------+--------------------------+
| Import Project | $(MSBuildBinPath) | $(MSBuildToolsPath) |
+--------------------------+--------------------+--------------------------+
上述链接中的应用程序会将 VS2008 解决方案中的解决方案和项目文件转换为 VS2005,反之亦然。
【解决方案4】:
首先,据我所知,仅更改了项目文件。目前我遇到的情况,基本上只是改了版本号,插入了目标框架。您只需更改版本即可轻松将项目文件转换回来。
运行转换并使用 diff 工具比较项目文件(即 XML 文本文件),您将立即看到差异。