代码之家  ›  专栏  ›  技术社区  ›  James

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

  •  3
  • James  · 技术社区  · 17 年前

    假设一个解决方案只包含类,并且这些类都被写入.NET2.0规范。如果要在Visual Studio 2008中打开、转换和保存该解决方案,是否可以稍后在Visual Studio 2005中重新打开该解决方案,只需对.SLN文件进行一些最小的修改?

    一个人怎么做呢?

    如果解决方案中包含的所有类都已写入.NET 2.0规范,是否有一种工具可以“下转换”.SLN文件(从2008年到2005年)?

    6 回复  |  直到 13 年前
        1
  •  7
  •   Will Dean    17 年前

    您的CS项目文件也将几乎正常,如果不正常,可以对其进行调整,使其在2005年和2008年都正常。

    但是要注意,您不能像这样在两个版本之间共享VC项目文件。

    项目文件的“调整”如下所示:

    <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    

    VS2005将因此窒息,您需要将其更改为以下内容:

    <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
    

        2
  •  3
  •   Jon Skeet    17 年前

    如果你在2008年没有使用任何“新奇”的功能,根据我的经验,唯一改变的是几个地方的版本号。可以手动编辑(位于文件IIRC的顶部)。至少值得一试。如果您使用的是VS2008的特定功能(设计器等),它可能不起作用,但对于简单的类库,我已经成功地做到了这一点。

    blog post about VS2005 and VS2008 co-existing

        3
  •  3
  •   vgru    15 年前

    这里有一个转换器 http://www.emmet-gray.com/Articles/ProjectConverter.htm (也适用于VS 2010)。

    还有 http://www.dsmyth.net/wiki/Downloads_VS2008ToVS2005Patcher.ashx
    (链接当前已断开?)。

    我也发现了这个 http://www.codeplex.com/Vs2008BackMigration 但我没有测试它。

        4
  •  2
  •   Community Mohan Dere    9 年前

    不,我所知道的没有这样的工具,我已经看过了。

    您有三种选择:

    1. 不针对相同的文件混合客户端版本(即坚持2005年,或人人升级)
    2. 分别保存2005年和2008年的解决方案文件,确保这两个版本中都有相同的项目

    幸亏 @Will Dean 提醒我项目文件确实可以共享。请注意,它们被2008年的编辑器所触动,但可以在2005年之后打开。

        5
  •  1
  •   Eoin Campbell    17 年前

    http://www.emmet-gray.com/Articles/ProjectConverter.htm

    我记得几个月前,它被发布在Jon Skeets的博客上,似乎得到了人们的赞许

        6
  •  -2
  •   dirkgently    17 年前

    没有直接的方法,如果你尝试的话,这是一个很高的要求。最简单的方法是创建一个新的2005项目并添加类。

    .csproj文件:(这些文件基于MSBuild架构)

    (编辑)

    • 项目版本

    (移除)

    • 旧工具版本

    .sln文件:(无架构)