【问题标题】:Converting VS2012 Solution to VS2010将 VS2012 解决方案转换为 VS2010
【发布时间】:2012-08-22 00:34:21
【问题描述】:

我正在使用 VS 2012 进行 VB 项目,完成后我尝试添加设置项目。

我没有找到它(因为安装项目在 VS2010 之后停止)所以我切换到 VS2010 但问题是项目无法打开并且我收到以下消息:

所选文件是解决方案文件,但由较新的文件创建 此应用程序的版本,无法打开。

我试过这篇文章:http://www.codeproject.com/Tips/80953/Converting-VS2010-Solution-to-VS2008 并尝试从 2012 年转换为 2010 年,但出现相同的消息。

【问题讨论】:

  • 你为什么不直接使用 VS2010 创建一个单独的 setup-project - 据我记得你不需要 inlcude 项目并且可以自己添加文件
  • 好的,这可以解决这个想法,即我们始终将设置与项目包含在同一解决方案中,以加快编译/部署速度
  • vs2010有sp1吗?我认为您需要它的服务包才能打开 2012 项目/解决方案文件。

标签: visual-studio-2010 visual-studio-2012


【解决方案1】:

我也遇到了类似的问题。我用谷歌搜索但找不到解决方案。所以我自己尝试了,这是我的解决方案。

在记事本中打开您的解决方案文件。进行 2 处更改

  1. 将“Format Version 12.00”替换为“Format Version 11.00”(不带引号)。
  2. 将“#Visual Studio 2012”替换为“#Visual Studio 2010”(不带引号)。

希望这对你也有帮助............

【讨论】:

  • 这样做有缺点吗?这似乎太容易成为现实。
  • 它对我不起作用它仍然保持它不兼容?
  • 感谢您的提示!甚至适用于降级 ASP.NET Web api 项目。除了在 sln 中将 Format Version 12.00 调整为 Format Version 11.00 并将 csproj 中的 TargetFrameworkVersion 元素从 4.5 > 4.0 调整;我不得不删除 web.config 中的 httpRuntime 元素,并从 4.5 > 4.0 调整 web.config 中的编译 targetFramework 属性
  • 太棒了,不敢相信没有向后兼容性。
  • 我刚刚使用 VS2013 掉进了这个陷阱 - 将格式改回 11 并且在 VS2010 中一切都很好 - 谢谢!
【解决方案2】:

只是为了详细说明 Bhavin 的出色答案 - 编辑解决方案文件有效,但如果您在 VS2012 项目和 VS2010 环境中选择 .NET 4.5 作为默认 .NET 版本,您仍然可能会遇到不兼容的错误(正如 David 报告的那样)不支持。

要快速解决此问题,请在文本编辑器中打开 VS2012 .csproj 文件并将 TargetFrameworkVersion 更改为 4.0(从 4.5)。 VS2010 将愉快地加载“编辑”的解决方案和项目。

您还必须以类似的方式编辑引用 .NET 4.5 的 app.config 文件,以允许它们在 .NET 4.0 环境中运行。

【讨论】:

  • 这与 Bhavin 的回答完美结合。谢谢你们。
  • 感谢您的提示!甚至适用于降级 ASP.NET Web api 项目。除了在 sln 中将 Format Version 12.00 调整为 Format Version 11.00 并将 csproj 中的 TargetFrameworkVersion 元素从 4.5 > 4.0 调整;我不得不删除 web.config 中的 httpRuntime 元素,并从 4.5 > 4.0 调整 web.config 中的编译 targetFramework 属性
  • 另外您可能必须像我一样检查您的 .vcproj 文件并将平台工具集从 v110 更改为 v100。
【解决方案3】:

我遇到了类似的问题,上面的解决方案都不起作用,所以我选择了一个总是有效的旧备用:

  1. 重命名包含项目的文件夹
  2. 新建一个与2010同名的项目
  3. 区分这两个文件夹和->
  4. 直接复制所有源文件
  5. 忽略 bin/debug/release 等
  6. 区分 .csproj 并复制所有相关行。
  7. 如果 .sln 文件只有一个项目,请忽略它。如果它很复杂,那么也可以区分它。

如果您花了 10 分钟时间却无法获得它,这几乎总是有效的。

请注意,对于旧版本(2008、2005)的类似问题,您通常可以只更改 .csproj 中的版本并更改 .sln 中的版本或丢弃它,但这似乎并没有为 2013 年工作。

【讨论】:

    【解决方案4】:

    最简单的解决方案是.....在 vs2013 中打开您的网站并转到 Debug->WebsiteProperties(最后一个选项)将打开一个新窗口..

    在此窗口中转到“构建”选项并将 .net 框架版本从 4.5 更改为 4.0.....然后选择确定。 [注意:此步骤仅在您的项目与 vs2013 没有依赖关系时才有效...]

    现在在 vs2010 中打开你的网站

    【讨论】:

      【解决方案5】:

      打开项目文件而不是解决方案。项目将由向导进行转换,转换后,当您构建项目时,将生成一个新的解决方案,作为 VS2010 解决方案。

      【讨论】:

        【解决方案6】:

        VS2012 支持VS2010 的解决方案。 VS2010不支持VS2012的解决方案 --> 仅单向升级。 VS2012 不支持设置项目。 在此处了解有关 VS2010/VS2012 兼容性的更多信息:http://msdn.microsoft.com/en-us/library/hh266747(v=vs.110).aspx

        【讨论】:

        • 通读该文档说,有些东西在两者之间可以正常工作 - 这意味着您可以在 VS2012 中创建一个项目/解决方案并在 VS2010 中毫无问题地打开它。但是,该文档确实表明,如果在 2012 年使用某些东西,您将无法在 2010 年打开。stackoverflow.com/questions/10902865/… 是另一个很好的简单答案。
        • 如果你仔细阅读,你应该会发现一个细微的差别:在 VS2010 中创建的项目在 VS2012 中工作,而不是相反。 "...您可以打开在 Visual Studio 2010 SP1 中创建的项目..."
        【解决方案7】:

        对我有用的简单解决方案。

        1. 为 windows 安装 Vim 编辑器。
        2. 使用 Vim 编辑器打开 VS 2012 项目解决方案并修改针对 Visual Studio 解决方案 10 的版本。
        3. 使用 Visual Studio 2010 打开解决方案.. 并继续您的工作 ;)

        【讨论】:

        • 为什么选择 Vim 而不仅仅是记事本?
        猜你喜欢
        • 2015-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多