我们一直在使用TeamBuild并测试我们的持续集成构建大约4个月,这个问题刚刚在我们的一个测试程序集中弹出,只是在构建服务器上的一个测试程序集上运行测试。 / p>
{NameSpace} .Order_Accessor,Version = 0.0.0.0,Culture = neutral,PublicKeyToken ='{xxx}'或其依赖项之一。系统找不到指定的文件。
这不是由其他地方提到的Publicize.exe问题引起的。单元测试在本地运行正常,生成的程序集确实已创建。
令人困惑的部分是我们在许多项目中使用生成的私有访问器程序集,包括上面有此问题的项目,没有任何问题。进一步调查此问题,生成的程序集永远不会被复制到TestResults // Out目录,这似乎是问题所在。我通过使用TestRunConfig部署设置从SolutionRoot添加程序集来确定这是问题,这导致程序集清单与错误不匹配。
我想知道是否有人在正确复制这些程序集时遇到问题。如果有帮助,我们在Windows Server 2008上运行TeamSystem 2008。
以下是相关文件的测试运行部署错误 运行有以下问题:
TESTTOOLSTASK:警告:测试运行部署问题:无法获取测试'EmailServiceTest.EnqueueTest'指定的部署项'E-mail Templates \ OrderConfirmation.txt'(输出目录'电子邮件模板')的文件: System.IO.DirectoryNotFoundException:找不到路径'Continuous Integration Build \ Binaries \ Continuous Integration Test \ E-mail Templates \ OrderConfirmation.txt'的一部分。
TESTTOOLSTASK:警告:测试运行部署问题:无法获取测试'Email.Tests.EmailServiceTest指定的部署项'电子邮件模板\ OrderConfirmation.htm'(输出目录'电子邮件模板')的文件.EnqueueTest':System.IO.DirectoryNotFoundException:找不到路径的一部分'Continuous Integration Build \ Binaries \ Continuous Integration Test \ E-mail Templates \ OrderConfirmation.htm'
TESTTOOLSTASK:警告:测试运行部署问题:程序集或模块'Services.Order_Accessor'由测试容器'\ continuous integration build \ binaries \ continuous integration test \ services.order.supplierintegration.tests.dll直接或间接引用'找不到。
答案 0 :(得分:4)
看起来您的TestRunConfig部署期望文件位于“持续集成构建\ 二进制文件”中
我突出了“二进制”部分是有原因的。这是$ BinariesRoot属性指向的文件夹(除非被覆盖),它由编译器使用。因此,我建议你仔细检查:
($BinariesRoot)Continuous Integration Test
($BinariesRoot)Continuous Integration Test