如何使用最新的MSBuild与TFS 2012构buildWindows 8.1商店应用程序?

如何让我的生成服务器使用正确版本的MSBuild?

我有一个Windows 8.1 Windowsapp store应用,我需要在运行TFS 2012的生成服务器上生成。生成服务器已经安装了Windows 8.1和Visual Studio 2013。

根据http://msdn.microsoft.com/en-us/library/vstudio/dd647548.aspx#older_process_template上的说明,我必须“将MSBuild ToolPath属性设置为MSBuild 12path的path”。

在我的构build定义下进程,高级我已经设置MSBuild参数:/p:VisualStudioVersion=12.0;ToolPath="C:\Program Files(x86)\ MSBuild \ 12.0 \ Bin \ amd64“

但是,该设置似乎不起作用,因为在构build时出现以下错误:

C:\ Program Files文件(x86)\ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(1224):任务'GenerateAppxPackageRecipe'失败。 值不能为空。 参数名称:来源

如果我检查生成日志,我可以看到它仍然使用错误的MSBuild,即C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ MSBuild.exe

我找到了解决方案:在Visual Studio中编辑构建过程模板,在我的情况下这是DefaultTemplate.11.1.xaml。 找到“运行MSBuild for Project”活动并将ToolPath更改为:

“C:\ Program Files(x86)\ MSBuild \ 12.0 \ Bin \ amd64”

不要忘记包括引号。

为所有其他“运行MSBuild for Project”活动重复此操作,我有两个要更改。