【发布时间】:2014-08-08 23:46:27
【问题描述】:
我们有一个 .NET 解决方案,我正在尝试在我们的新 CI 环境 TeamCity 中运行。
解决方案构建并运行,所有单元测试都在我们的开发机器上运行(并非全部通过,但情况不同)。
它也可以在 CI 服务器上正确构建,但是在运行 MSTest 配置时,它会失败,并给出如下消息:
Unable to load the test container '[one of my test assemblies]' or one of its dependencies. Error details: System.IO.FileNotFoundException: Could not load file or assembly '[one of my assemblies]' or one of its dependencies. The system cannot find the file specified.
嗯,我的程序集已经构建并且可用,所以这不太可能。在我的本地开发机器上,我可以使用 procmon 等获取更多详细信息,以查看依赖链在哪里中断,但我不确定如何针对远程服务器执行此操作。
如何找出我的 CI 服务器在完成其工作时缺少什么?我可以启用一些日志记录吗?
【问题讨论】:
-
恕我直言,解决此问题的最快方法是使用 TC 运行的帐户 RDP 到 CI 机器,然后尝试从 TC 签出代码的位置运行构建
-
@SamHolder 如果我手动调用它,它会从那里工作:(
-
混蛋。接下来我要做的是在运行 proc mon 的情况下运行 Team City 构建。但是你最终会得到一个很大的跟踪来分析。
-
抱歉 Ms 测试是从构建服务器上的命令行运行的好吗?还是只是构建?
-
@SamHolder 老实说,我无法弄清楚如何从命令行正确运行它(我有多个测试项目)......但是当指定在 TC 中爆炸的目标时,它不会抛出例外......它也没有运行任何测试。不知道是好是坏。
标签: c# testing dependencies continuous-integration teamcity