尝试在VS 2013中显式打开VS 2012解决方案(SLN文件)成功。只需在Windows资源管理器中双击它,仍然可以在VS 2012中将其打开。
我已阅读“ Visual Studio 2012不会转换vs2010解决方案? ”,并按照建议“另存为...”解决方案文件。
仍然默认情况下在VS 2012中打开。
我的问题:
如何更改SLN文件以强制在Visual Studio 2013中打开它?
尝试在VS 2013中显式打开VS 2012解决方案(SLN文件)成功。只需在Windows资源管理器中双击它,仍然可以在VS 2012中将其打开。
我已阅读“ Visual Studio 2012不会转换vs2010解决方案? ”,并按照建议“另存为...”解决方案文件。
仍然默认情况下在VS 2012中打开。
我的问题:
如何更改SLN文件以强制在Visual Studio 2013中打开它?
Answers:
该.sln
文件将预期版本指示为早期版本之一-例如:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
要么:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
但是,如果.sln
文件的默认应用程序是“ Microsoft Visual Studio版本选择器” ,则只能使用此功能。默认.sln
应用程序改为特定版本并不少见。在Windows 8中:
您可以知道哪个是默认设置,因为它显示“ keep using”:
# Visual Studio 2013
vs# Visual Studio 2012
请注意,您还可以使用命令行强制升级.sln或.proj文件,其中devenv是目标IDE版本:
devenv "MyProject.sln" /upgrade
例:
"%programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" "D:\Source\MySolution.sln" /upgrade
请注意,这不会打开Visual Studio。一种替代方法是,在IDE中,为解决方案文件选择“另存为”,然后以新名称覆盖或保存解决方案。
阅读更多:http : //msdn.microsoft.com/en-us/library/w15a82ay.aspx
devenv "MyProject.sln" /upgrade
,您还应该编辑.sln文件,检查@Zac的ans。
好像OP已经有一个可行的答案了……但是对我来说,问题有所不同。我有一个VS 2012解决方案(实际上有几个),想将它们转换为2013(我知道对.sln文件进行了微不足道的更改,但我希望自动完成此操作,以防万一我不知道某些秘密的升级逻辑) 。
所以我想我将在VS2013中打开它,它将按预期自动升级,然后将我设置为双击该解决方案,然后在VS2013中看到它。但是在VS2013中打开并不能按预期为我自动升级解决方案,在VS2013中打开文件后我找不到明确的方法来强制升级。我可以使用该解决方案,保存所做的更改,然后关闭VS2013,但是.sln将保持不变且未升级。
事实证明,我的问题在于我如何打开解决方案……习惯上,我右键单击文件并选择“打开方式”以选择要用于打开文件的程序。我经常这样做。注意我不是在谈论更改默认的“打开方式”程序,而是一次使用特定程序打开文件。因此,我将右键单击.sln文件...随Visual Studio 2013打开...,不会进行任何升级。
最终我想到进入VS2013,然后依次执行File> Open并选择.sln文件(这对我来说是陌生的,因为我几乎不会以这种方式打开任何东西,也许您也是如此)。无论如何,确实可以立即升级解决方案文件。
升级后,.sln文件的2-3行与此更改:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
对此:
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30501.0
MinimumVisualStudioVersion = 10.0.40219.1
因此,以我的经验,要将VS2012 .sln自动更新为VS2013,必须打开VS2013并从“文件”>“打开”对话框中选择.sln。使用资源管理器外壳强制.sln文件在VS2013中打开不会(显然)调用升级逻辑。
进一步说明,我使用另一种解决方案进行了测试,并且在通过Configuration Manager进行了更改(显然可以“触碰” .sln文件)之后,即使通过右键单击“打开”将其打开,它也确实将VS2012升级到了VS2013。
我有一个以前曾成功从2010年升级到2013年的解决方案,但仍然显示.sln与2010年相关。
我测试了该线程中提供的所有方法,唯一成功纠正.sln的方法是单独打开Visual Studio 2013,然后在IDE中打开仍与2010相关联的解决方案,然后使用[File]> [Save (name.sln as)覆盖现有的.sln文件。
将.sln的文件assoc设置为“ Visual Studio版本选择器”并没有改变,该解决方案在2010年继续开放。
devenv(name).sln / upgrade方法未对我的.sln文件进行任何更改。
破解.sln文件的原始文本会破坏我的文件,根本无法打开。
这对于尝试将解决方案文件升级到Visual Studio 2015的读者可能有用。(我升级了VS 2012解决方案。)
由于步骤3并未将其删除,因此您可能需要此时删除已删除的项目文件夹。
编辑
关于类似的问题,大都会蓝精灵的回答与我类似,但比我容易。他的步骤是: