【问题标题】:How can my first Build definition work if is getting broken after "Queue a new Build" in Visual Studio 2010?如果在 Visual Studio 2010 中的“排队新构建”之后被破坏,我的第一个构建定义如何工作?
【发布时间】:2012-10-23 10:15:14
【问题描述】:

我正在尝试在物理环境中将我的自动编码 UI 测试 (CUIT) 与 Microsoft Test Manager 2010 一起使用。

  • 创建了构建定义
  • 为构建和定义了一个放置文件夹
  • 按照推荐共享此文件夹here
  • 在 TFS 2010 中创建了一个构建服务作为“交互式进程”
  • 创建了构建控制器
  • 创建了代理控制器

我不记得顺序(如果这很重要)

MS Visual Studio 2010 中的错误(图片请转至HERE

错误一 (1)

TF215097:为构建定义 \Test Sample\Project1BuildOne 初始化构建时出错:在 http://us07ws45510012:9191/Build/v3.0/Services/Controller/1 上没有可以接受消息的端点监听.这通常是由不正确的地址或 SOAP 操作引起的。有关详细信息,请参阅 InnerException(如果存在)。

或者

错误二 (2)

构建控制器 us07ws45510012 - 控制器不包含名称为 * 且没有标签的已启用构建代理

MS TFS 2010 中的错误

错误三 (3)

服务 'us07ws45510012 - Agent1(OR CONTROLLER)' 出现异常:异常消息:加载自定义程序集时出现问题:API 限制:程序集 'file:///C:\Users\raul.reyes\AppData\Local\ Temp\BuildAgent\1\TestProject \obj\Debug\TestProject1.dll' 已从其他位置加载。无法从同一应用域中的新位置加载。

如果您想观看 VISUAL STUDIO 20120 图像,请前往HERE

【问题讨论】:

  • 这个问题来自here
  • 嗨 raulreyes。您的前两个错误表明您的构建机器的配置存在根本问题。你能在没有测试的情况下运行一个简单的构建吗?构建成功了吗?我会先确保基础工作正常,然后再添加您的测试。
  • @Dan Puzey 是的,你是对的,但是如果 TFS 构建服务不能作为“交互式进程”正常工作,我该如何完成基础工作?
  • 我不知道,但请先解决这个问题 - 忽略您的测试,只需构建一个 run。您是否已经证明“交互式过程”是问题所在?
  • @Dan Puzey,是的,我试过了,与“交互过程”无关,有人告诉我应该更正 .dll 的路径,但不知道该怎么做,我我正在尝试修复错误 2,此时我相信我需要在 TFS 中再次删除并安装这些代理

标签: visual-studio-2010 build tfsbuild microsoft-test-manager


【解决方案1】:

关于错误 #2(构建控制器 [controllerName] 不包含名称为 * 且没有标签的已启用构建代理),我在重新分配构建控制器并创建了一个具有标签的新构建代理。

构建定义上的标签定义

在运行构建时,对构建代理定义中定义的标签进行了匹配。在构建定义上,可以按如下方式查看/配置:

  1. 在 Visual Studio IDE 的 Builds 下(在 Team Explorer 中),右键单击构建定义,然后选择“Edit Build Definition...”
  2. 在进程下,展开“高级”,然后展开“代理设置”。注意“标签过滤器”。这里可以选择标签,根据标签选择构建代理。

在这种情况下,错误表明构建定义正在寻找“无标签”和完全匹配 (MatchExactly)。那么,构建代理是否定义了标签?如果是这样,请从构建代理中删除它们,或者将构建定义配置为使用标签以匹配构建代理。

构建代理上的标签定义

标签是在构建代理上定义的。它们可以在 TFS 构建服务器上进行修改(基于构建控制器和构建定义中配置的构建代理)。

在构建代理上定义/修改标签,在 TFS 构建服务器上...

  1. 启动“Team Foundation Server 管理控制台”
  2. 导航到“构建配置”
  3. 找到分配给构建定义正在使用的构建控制器的构建代理,然后选择属性
  4. 可以在“构建代理属性”对话框中创建、添加和删除标签:

鉴于上述构建定义和构建代理配置的图片(只有一个构建代理),将导致此错误,因为构建定义期望没有标签完全匹配,并且为构建控制器配置的唯一构建代理与构建定义相关联的标签已定义(“原型”)。因此,“no tags”和“prototype”没有完全匹配。

【讨论】:

  • 只是想补充一点,如果 Build Agent 中有多个标签,XAML 定义中的“标签比较运算符”需要更改为“MatchAtLeast”。对于我们的案例,我们将多个标签共享到 1 个 BuildAgent 中,因此我们需要使用“MatchAtLeast”。
猜你喜欢
  • 2014-04-03
  • 1970-01-01
  • 2012-08-17
  • 2019-11-26
  • 2023-03-22
  • 1970-01-01
  • 2019-08-13
  • 2016-09-17
  • 1970-01-01
相关资源
最近更新 更多