VisualStudioVersion =" VersionLatest"没有被接受

时间:2014-11-13 16:10:03

标签: visual-studio deployment msbuild sql-server-data-tools

我创建了一个包含以下标题的MSBuild proj文件:

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="12.0" TargetFrameworkVersion="4.5" VisualStudioVersion="VersionLatest">

此proj文件用于在许多SSDT项目上触发MSBuild,并与Deploy一起使用。

对于大多数开发人员来说,这很好。但是,一个开发人员在尝试运行构建时遇到Deploy72002异常。根据{{​​3}}回答,这是由于未设置VisualStudioVersion。果然,添加

set VisualStudioVersion="12.0"
在MSBuild调用之前的批处理文件中的

修复了问题。

然而,我的印象是(我现在找不到源代码)在proj文件的xml中设置VisualStudioVersion="VersionLatest"足以使其使用安装的VS的最高版本。我甚至尝试将其从VersionLatest设置为12.0,并将其从根节点移动到<PropertyGroup>中自己的节点。

我宁愿在批处理文件中没有对12.0的硬编码引用。我是否遗漏了一些显而易见的东西以使VersionLatest有效?

1 个答案:

答案 0 :(得分:0)

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

它可能会为某些.props或.targets文件拾取不同的内容。已知这些因安装或更新某些或其他原因而发生变化。我记得在查找问题时,在msdn文章中修复了这样的文件。