【问题标题】:How to convert a VS 2010 solution back to 2008如何将 VS 2010 解决方案转换回 2008
【发布时间】:2010-12-26 06:44:25
【问题描述】:

我们开始使用 VS 2010 并且对它非常满意,因此我们将我们的项目转换为 2010 解决方案(仍然是 .net 3.5)并在 2010 年继续我们的开发。但是,我们最近遇到了很多错误并希望回到 2008 年。解决方案文件已更改(到处添加新项目和文件),但一切仍在 .net 3.5 中。我想知道是否有一种简单的方法可以迁移回 2008 年。

【问题讨论】:

  • @Mike Atlas - 这也是我的第一个想法 - 但 OP 指出解决方案已随着新项目和文件而改变。

标签: visual-studio visual-studio-2010


【解决方案1】:

根据他们是否在 2008 年和 2010 年之间保持类似的解决方案文件结构,您只需在 2008 年创建一个空的解决方案文件并查看其中的顶部标识符行,然后将其复制到另一个解决方案文件中。

但我怀疑他们是否保持不变,因为他们将许多功能集成到解决方案文件中。

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

这可能是最快最直接的路线了。

【讨论】:

  • 同意。创建一个空白的 VS08 解决方案,并将所有 csproj 文件添加到其中。然后你就完成了。 csproj 文件在两种解决方案中都能正常工作。
【解决方案2】:

我已成功更改前 2 行:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008

【讨论】:

    【解决方案3】:

    假设您的解决方案受源代码控制,并且从 VS 2008 迁移到 VS 2010 是该签入的唯一变化,只需比较两个版本,看看有什么变化。

    然后将受影响的行改回 VS 2008 版本,您应该一切顺利。

    没有自动过程,因为 Microsoft 认为这是一种单向操作。

    【讨论】:

    【解决方案4】:

    您可以在文本编辑器中手动编辑 .sln 文件。有一个字段叫version,或者类似的,把它从10改成9就好了。

    【讨论】:

    • 是的,这是最简单的方法。
    【解决方案5】:

    这个问题

    How does one convert a Visual Studio .NET 2008 solution to Visual Studio .NET 2005?

    也可能适用于从 2010 年转换回 2008 年。

    【讨论】:

      【解决方案6】:

      您可以使用“项目转换器”: http://www.emmet-gray.com/Articles/ProjectConverter.htm

      我刚刚找到它。我现在要测试它! :-)

      【讨论】:

      • 死链接 2017/03/23
      【解决方案7】:

      请尝试以下操作(找到第一行并替换为第二行以将 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" />
      

      这适用于我的解决方案,您可以尝试查看它是否适合您的情况。

      【讨论】:

        【解决方案8】:

        正如 maZZoo 所说,您必须替换 .sln 中的那些行,但如果您检查输出面板,您可能会收到使用 ToolsVersion="4.0" 的警告,您必须将其替换为.csproj 到:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-10-22
          • 2011-03-16
          • 1970-01-01
          • 1970-01-01
          • 2012-03-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多