在MSBuild中解析VisualStudioVersion时,Visual Studio 2013解决方案格式版本不正确

在MSBuild中解析VisualStudioVersion时,Visual Studio 2013解决方案格式版本不正确,msbuild,visual-studio-2013,solution,Msbuild,Visual Studio 2013,Solution,在Visual Studio 2013中创建新解决方案时,文件顶部如下所示: Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 2013 VisualStudioVersion = 12.0.30110.0 这个格式版本不正确吗?VS2012(v11)的格式版本是12.00,那么为什么VisualStudio2013(v12)的格式版本不是13.00呢 这导致我们的构建服务器出现问题,因为根据

在Visual Studio 2013中创建新解决方案时,文件顶部如下所示:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30110.0
这个格式版本不正确吗?VS2012(v11)的格式版本是12.00,那么为什么VisualStudio2013(v12)的格式版本不是13.00呢

这导致我们的构建服务器出现问题,因为根据本文(请参见#2):

MSBuild
VisualStudioVersion
变量使用-1格式版本进行设置。我们的生成服务器只有VS2013和相关工具(因此安装在C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v12.0中),但生成失败,因为
VisualStudioVersion
自动设置为11,并且它看起来路径错误(C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\v11.0)


我是否遗漏了一些内容,或者是否应该使用Visual Studio 2013增加格式版本?

Visual Studio 2013的格式版本是12.0。
如果生成服务器不是TFS2013,请在生成定义中添加以下MSBuild参数:
/p:VisualStudioVersion=12.0

我想这就是我在问题中所说的!但是12.0也是VS2012的格式版本!谢谢,我已经用这个参数解决了我的问题并强制执行。你的权利,12.0也是与VS2012和VS2013相同的格式版本。但是参数看起来是VisualStudio版本。VS2012为11.0,VS2013为12.0。我很高兴这有帮助。别忘了标记答案。我已经在使用参数作为解决方法。我的问题更多的是找出这个格式版本是否是一个疏忽,或者是否有一种方法可以让它工作-我不喜欢构建不再由我的解决方案中的版本驱动的事实。我认为它从来没有这样做过。请参见工作流模板中的一个属性,该属性硬编码了版本号。参数只是覆盖了这个版本。事实并非如此。我认为您需要阅读我问题中的链接:“当您构建.sln文件时,VisulStudio的值将是.sln文件中格式版本的–1。”