36

我正在使用 Bamboo [来自 Altassian],它使用 devenv.com 构建器来构建解决方案文件。目前,我的构建中似乎遇到了“错误”错误——我试图自己解决但无法解决——所以我想我会问。

每个构建都正常成功 - 没有源于代码的错误 - 但似乎反而给出了这个错误

包 'Microsoft.VisualStudio.TestTools.TestCaseManagement.QualityToolsPackage, Microsoft.VisualStudio.QualityTools.TestCaseManagement, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 未能加载。

我不知道为什么这会导致 devenv.com 环境出现问题,我也不知道如何通过某些构建命令“忽略”这个错误?

4

2 回答 2

2

试试这个(来自 MSFT 支持)

你能检查一下 dll 是否在全局程序集缓存中(打开 VS 2010 命令提示符

(Start | All Programs | Microsoft Visual Studio 10.0 | Visual Studio Tools))

输入

Gacutil –l > list.txt

Notepad list.txt

您是否看到类似的条目

Microsoft.VisualStudio.QualityTools.TestCaseManagement, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL

如果是这样,在同一命令提示符下,运行 fuslogvw,转到设置,选择 log bind failures to disk,选择 ok

运行你的命令行

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com /Build "Release|Mixed Platforms" "D:\Builds\19\Test VizXView\VizXView v1.8 Test Release Build - Weekly\Sources\VizXView v1.8\VizXView 1.8.sln"

单击 fuslogvw 中的刷新按钮。我们得到任何绑定错误吗?

于 2013-06-30T12:58:36.743 回答
1

我有一个与在使用 devenv.exe(不是 devenv.com)的构建服务器上运行单元测试相关的类似问题。我在构建服务器上安装了一个高级 VS,但我用 Ultimate 编写了单元测试(它“有”负载测试,即使我没有使用它)。我使用 fusion 查看器确定丢失的 dll 是 LoadTest.dll,我将其从笔记本电脑复制到构建服务器,我还在我的解决方案中删除了版本控制中的引用:*.vsmdi 和 *.testsettings(它们是已弃用)并且我从构建定义中删除了对 .testsettings 文件的引用。

我的猜测是,即使我没有运行负载单元测试,构建代理也会尝试加载 LoadTest 库以防万一。希望有帮助

编辑 - -

好的,我自己的问题是我的笔记本电脑上同时安装了 vs2010 和 vs2013。当我将第一个测试项目添加到我的 VS2010 解决方案时,添加的项目实际上依赖于 2013 版本的 UnitTestFramework.dll。我的构建服务器上只有 vs2010,所以我得到了缺少的程序集错误。切换到 2010 版本的引用解决了这个问题。

于 2014-06-24T08:23:59.213 回答