2015-10-20 207 views
2

嗨,我最近几天一直在b my我的脑袋。TFS 2015构建问题

这里是情况...
1.我有VSO帐户,它维护云中的TFS。
2.在另一台机器上安装构建服务器/代理。 (工作正常)
3.试图使用该服务器/控制器构建(XAML构建)一个解决方案。
4.收到错误消息...

"The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk."

构建服务器和代理是从2015年TFS和项目使用框架4.6的Visual Studio 2015年项目。我在编译期间期待目标文件的“v14”文件夹。为什么它试图从“v11”文件夹中找到东西?我该如何解决这个问题。

我知道我可以将文件复制到“v11”,但我不想逃避事实。应该有一个原因和适当的修复。你能帮忙的话,我会很高兴。

+0

中有什么的csproj文件ToolsVersion?它是不是'

回答

0

您的Web应用程序中引用了WebApplications \ Microsoft.WebApplication.targets(11.0)(来自VS2012),因此Visual Studio 2012应安装在构建服务器上以解决此问题。

请注意,要保证TFS构建成功运行,您应该确保您的构建代理机器具有某些开发机器环境。

+1

感谢您的回复,但我认为您错过了这一点。我正在使用visual studio 2015.所有组件均安装在“v14.0”中,并且没有预期的文件夹“v11.0”。为什么MSbuild覆盖目标,并强制它成为“v11.0”!示例proj文件:

0

您是否从以前的TFS版本恢复了以前的TFS 2015集合?您的解决方案或解决方案中的任何项目是否在VS2015之前创建?

2

几种解决方案,为您更正此错误:

S1:通过运行以下命令安装从NuGet gallery MSBuild.Microsoft.VisualStudio.Web.targets:安装,包装MSBuild.Microsoft.VisualStudio.Web.targets。
然后用

<Import Project="$..\packages\MSBuild.Microsoft.VisualStudio.Web.targets.14.0.0\tools\VSToolsPath\WebApplications" /> 

S2替换下面的行中的.proj文件

<Import Project="$(MSBuildBinPath)\Microsoft.WebApplication.targets" /> 

:设置在构建定义的/p:VisualStudioVersion=12.0的MSBuild参数。
S3:将Microsoft.VisualStudio.Web.targets文件复制到构建代理机器上的C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ WebApplications文件夹中。
S4:像Patrick先前提到的那样,在TFS构建代理机器上安装VS2012。

及相关案件:Microsoft.WebApplication.targetsMicrosoft.WebApplication.targets was not found, on the build server. What's your solution?