将Visual Studio 2013的解决方案升级到Visual Studio 2015

112

我已经安装了Visual Studio 2013和Visual Studio 2015。在VS2013中创建的项目和解决方案会按预期由VS2013打开,但我希望能够升级这些文件,以便双击时能由VS2015打开。

如何升级VS2013格式的解决方案文件,使得Microsoft Visual Studio版本选择器会将它们打开到VS2015中?


1
升级后,您可能希望将文件移动到2015项目文件夹中。如果您使用Team Foundation Server 2013,则移动源代码的步骤如下:http://stackoverflow.com/questions/39022515/how-do-i-move-tfs-2013-code-to-a-new-local-working-folder-after-upgrading-soluti/39022713#39022713 - DeveloperDan
可能是Visual Studio 2012无法转换vs2010解决方案?的重复问题。 - 2Toad
6个回答

169

我认为最简单的解决方案(在2012年和2013年也适用)是:

  1. 使用Visual Studio 2015打开解决方案文件
  2. 在“解决方案资源管理器”中选择解决方案文件
  3. 选择“文件/另存为我的解决方案.sln…”
  4. 覆盖现有的解决方案文件。

2
你不能批量处理这个解决方案。 - Zach Leighton
15
请注意,在文件菜单中期望出现的“另存为”菜单项之前,我必须先在解决方案资源管理器中突显出解决方案本身。 - Sam
3
请确保您用 Visual Studio 2015 打开解决方案。我不小心用 VS 2013 打开了它,然后纳闷为什么另存为(Save As)功能没有改变 Visual Studio 的版本。 - Tom
3
请确保你突出解决方案,就像Sam所说的那样——我当时在网站项目节点上,而不是解决方案节点上。 - goodeye
2
文件 | 保存工作得很好,避免了不必要的另存为对话框。 - Jim Gomes
显示剩余3条评论

41

修改.sln文件中的版本号

# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
为了匹配您当前所使用的版本:
截至今天早上,我的VS Enterprise版本为14.0.23107.0 示例:
# Visual Studio 2015
VisualStudioVersion = 14.0.23107.0

Visual Studio 2015 Update 3 的版本号是 14.0.25420.1


我不确定Visual Studio是否需要进行其他更改,但这个解决方案可行且变化简单。谢谢! - Ben Pschierl
7
只需更改注释即可生效:“# Visual Studio 2015”,这是多选器触发的内容... - Chuck Walbourn
1
"Visual Studio 2015 更新1的版本号是14.0.25123.0",不是更新3。 - Abel
我正在升级从2013到2017,这个解决方案对我起了作用。 - user680891

19

注意: 适用于VS 2015和2017

手动编辑 .sln 文件或在原 .sln 文件上重新保存的替代方法:

  1. 在Visual Studio中打开解决方案
  2. 右键单击解决方案 > 添加 > 新建解决方案文件夹(名称无所谓)
  3. 保存解决方案
  4. 删除新添加的解决方案文件夹
  5. 再次保存解决方案

现在该解决方案已经升级完成。


1
非常棒且易于使用的VS2017。谢谢。这样,Visual Studio将改变.sln文件,而不是我打补丁。 - Debbie A

8
我在寻找相同的内容时发现了这篇文章。虽然已有一个可行的答案,但我注意到一些评论提到它不能批量处理。我找到了一个批量处理的选项,现在和大家分享。
你可以使用devenv.com中的/upgrade选项。这意味着它可以进行批处理。例如,要递归当前目录升级所有.sln文件(备份后),你可以执行以下操作:
dir -Recurse -path ".\" *.sln | ForEach-object {
    Copy-Item $_.FullName "$($_.DirectoryName)\$($_.Name.Remove($_.Name.Length - $_.Extension.Length)).vs2013$($_.Extension)";
    & "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com" /upgrade $_.FullName
}

好答案,知道IDE可以从命令行执行很不错。它有多快? - Zach Leighton
实际上无法用于从VS2013迁移到VS2015。运行/upgrade命令时,会显示消息“此项目/解决方案不需要迁移。它将在没有修改的情况下打开。”,并且.SLN文件保持不变。 - Jim Gomes

6
我通过以下方法解决了问题:右键单击解决方案,选择“重新定位解决方案”(vs2013)。

这也升级了项目。 - chappjc
1
我在Visual Studio 2015(更新3)中找不到这个选项。 - pogosama
这是VS2017的正确答案。在我的情况下,一个被设置为启动项的项目失败了,所以我不得不设置一个不同的启动项目(Python项目可以工作)。 - Shital Shah

4
这里的其他解决方案对我没有用。我的项目是在Visual Studio 2012中创建的,现在我正在使用Visual Studio 2015,但如果你从2013升级到2015也应该适用。以下是如何手动将早期版本的项目升级到新版本:

  1. 打开VS2015的开发人员命令提示符(如何找到它:https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx
  2. 键入devenv SolutionFile | ProjectFile /upgrade并按Enter键。

其中SolutionFile | ProjectFile是.sln文件的完整路径和文件名。

https://msdn.microsoft.com/en-us/library/w15a82ay.aspx


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接