这个问题的标题可能看起来有点复杂,所以让我更详细地解释一下。
我为最近要求将所有VS2013之前的项目和解决方案升级到VS2013的公司工作。在我的初始升级测试期间,我注意到一些解决方案促使升级在VS2013下功能正常。
这些解决方案/项目通常会启动迁移向导,并显示需要在VS2013下运行项目的非功能性更改的消息,并且只要之后没有错误,项目编译并运行没有任何问题。
虽然还有其他VS2012解决方案/项目没有显示任何对话框,只是简单地在VS2013下运行而没有问题。
我最初的推测是因为后者提到VS2013没有确定项目是否有任何需要更改升级的组件;他们只是在幕后升级,编译时没有错误,只是简单地运行。
但在与公司主管进行简短对话并查看解决方案文件后,似乎仍然为VS2012而不是VS2013配置了这些解决方案。
以下是每个解决方案文件的几行代码:
VS2013 Solution File
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30110.0
VS2012 Solution File
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
如您所见,VS2012解决方案文件显示#Visual Studio 2012,而VS2013解决方案文件显示#Visual Studio 2013,并在文件中附加了一行,说明VisualStudioVersion = 12.0.30110.0
因此,关于此迁移工作的真正问题/担忧是:
有没有办法强制VS2012项目VS2013,而不是简单地在VS2013下打开项目/解决方案
在某些时候VS2012变得过时/过时,是否有任何潜在的警告需要加以考虑?例如。如果明天VS2012过时,那么在生产环境中运行的这些类型的项目是否会有潜在的关注领域?
目标是让我们的所有项目和解决方案迁移到VS2013并在VS2013下运行,以保证环境的连续性,并且不再使用任何Pre-VS2013项目。
由于
答案 0 :(得分:4)
在VS2012中首次添加了在早期VS版本中创建而不转换它们的项目的能力。根据大众的需求,如果不是所有团队成员同时迁移,那么迁移到新的VS版本可能会非常痛苦。
关于这一点没有任何意义,VS2013在打开和保存这样的项目时没有任何问题。它也没有办法强制转换。在过去,可以通过使用/ upgrade选项运行devenv.exe来完成。不确定这是否仍然有效,你必须尝试。我已经看到SO用户建议编辑项目文件,我不认为这是一个好主意。
当您添加以前版本中不支持的任何功能时, 会自动提示您进行升级。很难想出VS2013的例子,除了Windows Phone 8.0项目之外,VS2013是VS2012的一个相对较小的增量。