Visual studio 未拾取VisualStudioVersion=“VersionLatest”

Visual studio 未拾取VisualStudioVersion=“VersionLatest”,visual-studio,deployment,msbuild,sql-server-data-tools,Visual Studio,Deployment,Msbuild,Sql Server Data Tools,我创建了一个包含以下标头的MSBuild项目文件: <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0" TargetFrameworkVersion="4.5" VisualStudioVersion="VersionLatest"> 在MSBuild调用之前的批处理文件中修复了该问题 但是,我觉得现在找不到源代

我创建了一个包含以下标头的MSBuild项目文件:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0" TargetFrameworkVersion="4.5" VisualStudioVersion="VersionLatest">
在MSBuild调用之前的批处理文件中修复了该问题

但是,我觉得现在找不到源代码,因为在proj文件的xml中设置VisualStudioVersion=VersionLatest足以使其使用安装的最高版本的VS。我甚至尝试过将它从VersionLatest设置为12.0,并将它从根节点移动到它自己的节点中


我不希望在批处理文件中有对12.0的硬编码引用。我是否缺少使VersionLatest正常工作的明显功能?

尝试以下操作:使用命令行选项运行MsBuild以生成预处理的单个文件。在具有相同版本的工作计算机上执行相同操作。区分生成的文件


它可能会为某些.props或.targets文件拾取不同的内容。由于安装或更新了一些或另一些,这些已被知道会发生变化。我记得当我查找问题时,我在阅读了一篇msdn文章后修复了这样一个文件。

VersionLatest现在只是在Microsoft.Build.Utilities.v12.0.dll中硬编码为12.0。VS的下一个版本可能会有另一个MSBuild版本,该版本可能会将其硬编码为一个不吉利的数字。或者它将保持12.0,因为您要求使用ToolsVersion 12.0:在您拥有该版本并知道它的功能之前,不要做任何激烈的事情。即使它在系统中硬编码为12,为什么不从这个开发人员的.proj文件中提取它?
set VisualStudioVersion="12.0"