【发布时间】:2014-02-05 12:41:42
【问题描述】:
我在 Team City (8.0.4) 构建服务器上遇到了单元测试问题 - 代码通过 Resharper 和 nCrunch 在本地构建和运行所有测试。
但是在服务器上运行时出现以下错误,即使 Unity 程序集与单元测试程序集存在于同一目录中,并且在单元测试程序集中被引用。
SetUp 方法失败。 SetUp:System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.Practices.Unity,版本=2.0.414.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。该系统找不到指定的文件。 在 XXXX.Unity.UnityContainerAdapter..ctor() 在 XXXX.GraphExtensionsTests..ctor() 在 c:\TeamCityV7\Agent-1\work\f02f7e27c0bedfa2\XXXX\Graph.Tests\Extensions\GraphExtensionsTests.cs:line 44
我已确认 Microsoft.Practices.Unity 的副本是正确的版本。
我还确认程序集是使用完整版框架构建的 - 不是使用客户端配置文件。
您知道 Team City 可能会失败的原因吗?
【问题讨论】:
-
您是否正在使用 NuGet 包进行 Unity?如果不是,我建议您这样做,因为我发现在使用 NuGet 时,很多这些参考问题变得更加直接。
-
如果可以的话,我会“愿意”,但受制于政治......
-
如果您想了解它在哪里寻找“缺失”程序集,您可以使用名为 fuslogvw 的 Windows 实用程序,described here。
标签: .net unit-testing continuous-integration teamcity .net-assembly