gpt4 book ai didi

tfs - BuildActivity忽略ToolsVersion

转载 作者:行者123 更新时间:2023-12-03 08:37:11 24 4
gpt4 key购买 nike

我有一个在BuildAgent上运行的持续集成版本,但无法正常工作。我最近将代码库更改为C#6.0,并将项目更改为ToolsVersion 14。

我确实在Build Server(TFS 2012)上安装了Visual Studio 2015。如果现在我检查C#6.0代码,则在第一个项目上构建失败(“$”是意外的或类似的内容)

BuildTemplate是“DefaultTemplate.11.1”
如果我检查日志文件,则生成会调用错误的csc.exe(C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Csc.exe)

如果我确实启动了该项目的MSBuild / 14.0 / Bin / MSBuild可执行文件,而没有进行任何切换,则构建成功。为什么TFS BuildAgent不使用ToolsVersion,如何获得TFS 2012来构建Visual Studio 2015解决方案

如果我添加MSBuildArgument /tv:14.0,它仍然会失败。正如它所称的,MSBuild版本12是Visual Studio 2015附带的.NET 4.6 RC框架的一部分。

更改MSBuild Activity 的ToolsPath确实可以使Build正常工作,但是如果我尝试运行UnitTest则会吐出子弹。我收到一个缺少的dll“Microsoft.VisualStudio.TestPlatform.Utilities.dll”异常。 (在构建服务器上也安装了VS2012)。

更新:
我的单元测试确实出现了另一个错误:

TF900548: An error occurred publishing the Visual Studio test results.
Details: 'Method not found:
'System.Collections.Generic.IEnumerable<System.String>
Microsoft.VisualStudio.TestPlatform.Utilities.InferSettingsHelper.MergeRunSettingsAndFindCompatibleSources(Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
ByRef,
Microsoft.VisualStudio.TestPlatform.ObjectModel.FrameworkVersion
ByRef, System.String, System.String,
System.Collections.Generic.IDictionary`2<System.String,System.Collections.Generic.KeyValuePair`2<Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture,Microsoft.VisualStudio.TestPlatform.ObjectModel.FrameworkVersion>>,
System.Xml.XPath.IXPathNavigable, System.String ByRef)'.'

最佳答案

对于我们中那些不每天都在构建模板中居住的人来说,以下是使它对我有用的步骤:
首先找到与您的构建关联的模板(如果您已经知道在哪里可以找到它,则跳过几个步骤)。

  • 只需右键单击构建定义并选择Edit build definition
  • 选择Process选项卡,您将看到模板的名称(如果尚未自定义,则很可能是DefaultTemplate)。在最右侧,单击Show details以查看模板的路径。

  • enter image description here
  • 转到“团队资源管理器”下的Home选项卡,然后单击Source control explorer

  • enter image description here
  • 查找模板文件,然后双击以对其进行编辑。它应该以这样的图形 View 显示。滚动直到找到Run MSBuild for Project

  • enter image description here
  • 单击此项,将立即显示属性

  • enter image description here
  • 单击右侧的小图标-不要尝试键入它,因为它可能会爆炸并使Visual Studio崩溃。
  • 在下面的"C:\Program Files (x86)\MSBuild\14.0\bin"中输入QUOTES

  • enter image description here
    现在最重要的部分
    对我来说, Run MSBuild for Project在两个地方。
    因此,我只是在两个地方都重复了上述步骤,然后在 checkin .xaml文件之后,我的构建FINALLY正常运行。
    您可能需要从TFS工具中回收代理/ Controller 。
    enter image description here

    关于tfs - BuildActivity忽略ToolsVersion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31180393/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com