我们已经使用TeamBuild进行连续集成构建的测试了大约4个月,而前一天,仅在构建服务器上对其中一个测试程序集运行测试时,这个问题就突然出现在我们的一个测试程序集中。
{NameSpace} .Order_Accessor,版本= 0.0.0.0,区域性=中性,PublicKeyToken =“{xxx}”或其依赖项之一。该系统找不到指定的文件。
这不是由其他地方提到的Publicize.exe问题引起的。 单元测试在本地运行良好,并且确实创建了生成的程序集。
令人困惑的部分是,我们在许多项目中使用了生成的私有(private)访问器程序集,包括上面存在此问题的程序,而没有任何问题。进一步调查此问题,生成的程序集永远不会复制到似乎是问题所在的TestResults//Out目录中。我通过使用TestRunConfig部署设置从SolutionRoot添加程序集来确定这是问题所在,这导致程序集 list 不匹配错误。
我想知道是否有人在正确复制这些程序集时遇到问题。如果有帮助,我们将在Windows Server 2008上运行TeamSystem 2008。
以下是相关文件的测试运行部署错误
运行存在以下问题:
TESTTOOLSTASK:警告:测试运行部署问题:无法获取测试“EmailServiceTest.EnqueueTest”指定的部署项目“E-mail Templates\OrderConfirmation.txt”(输出目录“E-mail Templates”)的文件:System.IO .DirectoryNotFoundException:找不到路径“Continuous Integration Build\Binaries\Continuous Integration Test\E-mail Templates\OrderConfirmation.txt”的一部分。
TESTTOOLSTASK:警告:测试运行部署问题:无法获取测试“Email.Tests.EmailServiceTest.EnqueueTest”指定的部署项目“E-mail Templates\OrderConfirmation.htm”(输出目录“E-mail Templates”)的文件:System.IO.DirectoryNotFoundException:找不到路径“Continuous Integration Build\Binaries\Continuous Integration Test\E-mail Templates\OrderConfirmation.htm”的一部分
TESTTOOLSTASK:警告:测试运行部署问题:测试容器“\Continuous Integration build\binaries\Continuous Integration test\services.order.supplierintegration.tests.dll”直接或间接引用的程序集或模块“Services.Order_Accessor”不是成立。
最佳答案
看起来您的TestRunConfig部署期望文件位于“Continuous Integration Build\ Binaries \”中
我之所以强调“二进制文件”部分是有原因的。这是$ BinariesRoot属性指向的文件夹(除非被覆盖),并且由编译器使用。因此,建议您仔细检查以下内容:
($BinariesRoot)Continuous Integration Test
($BinariesRoot)Continuous Integration Test
关于unit-testing - 团队 build : Cannot find generated private accessor,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2103209/