1

我的任务是维护 Visual Studio 2005 解决方案,但我只能访问 Visual Studio 2008。每当我尝试在 Visual Studio 2008 中打开旧解决方案时,IDE 都热衷于将解决方案转换为新版本。

在这个转换过程中到底发生了什么,有没有办法阻止它(因为我需要提供代码以便它可以在 2005 年打开)?

4

4 回答 4

6

这是 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

除此之外,你不应该改变任何东西(在我们的例子中它就是这样工作的)。

于 2009-04-14T07:20:38.837 回答
3

我的建议是你应该先备份项目,然后你应该运行 VS 2008 的迁移向导。当它询问你是否要查看迁移过程中更改的所有文件的报告时,选择是。它将显示在此过程中更改的文件列表。

在几乎所有情况下,更改的文件仅限于版本号更改的项目文件。但是,没有硬性规定不会改变任何其他内容,您不应该依赖这一点。恕我直言,最好的方法是检查“已更改”列表中提到的每个文件中的更改。

如果唯一更改的文件是项目文件,您应该能够轻松地在 VS 2008 中维护代码。当您需要重新部署时,只需将项目文件中的版本改回即可。

于 2009-04-14T07:26:01.960 回答
1

Jon Skeet 发表了一篇关于使 VS2008 解决方案与 VS2005 共存的帖子。

正如@Igor Brejc所描述的,解决方案文件的版本号会略有不同。但是,也对项目文件进行了一些更改。这些更改在本文中进行了描述,其中还有一个漂亮的 VS2005-VS2008 转换器应用程序可用

+==========================+====================+==========================+
| 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,反之亦然。

于 2009-04-14T13:51:22.657 回答
0

首先,据我所知,只有项目文件被更改。目前我遇到的情况,基本上只是改了版本号,插入了目标框架。您只需更改版本即可轻松将项目文件转换回来。

运行转换并使用差异工具比较项目文件(它们是 XML 文本文件),您将立即看到差异。

于 2009-04-14T07:19:15.253 回答