【问题标题】:TFS 2015 build issuesTFS 2015 构建问题
【发布时间】:2016-01-19 05:41:03
【问题描述】:

嗨,我最近几天一直在敲我的头。

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

“未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets”。确认声明中的路径正确,并该文件存在于磁盘上。”

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

我知道我可以将文件复制到“v11”,但我不想逃避事实。应该有一个原因和适当的解决方法。任何帮助都会很好。

【问题讨论】:

  • csproj 文件中的 ToolsVersion 是什么?是<Project ToolsVersion="14.0" 吗?

标签: msbuild tfsbuild tfs-2015


【解决方案1】:

解决此错误的几种解决方案:

S1:通过运行以下命令从 NuGet gallery 安装 MSBuild.Microsoft.VisualStudio.Web.targets:Install-Package MSBuild.Microsoft.VisualStudio.Web.targets。
然后在您的 .proj 文件中替换以下行

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

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

S2:在构建定义中设置 /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?

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 感谢您的回复,但我认为您错过了重点。我正在使用 Visual Studio 2015。所有组件都安装在“v14.0”中,并且没有预期的文件夹“v11.0”。为什么 MSbuild 会覆盖目标并强制将其设置为“v11.0”!示例项目文件:
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多