我在我们的 Team City (8.0.4) 构建服务器上遇到了单元测试问题 - 代码通过 Resharper 和 nCrunch 在本地构建和运行所有测试。
但是在服务器上运行时,我收到以下错误,即使 Unity 程序集与单元测试程序集存在于同一目录中,并且在单元测试程序集中被引用。
SetUp method failed. SetUp : System.IO.FileNotFoundException : Could not load file or assembly 'Microsoft.Practices.Unity, Version=2.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. at XXXX.Unity.UnityContainerAdapter..ctor() at XXXX.GraphExtensionsTests..ctor() in c:\TeamCityV7\Agent-1\work\f02f7e27c0bedfa2\XXXX\Graph.Tests\Extensions\GraphExtensionsTests.cs:line 44
我已经确认 Microsoft.Practices.Unity 的副本是正确的版本。
我还确认程序集是使用框架的完整版本构建的——而不是使用客户端配置文件。
任何想法为什么 Team City 可能会失败?
最佳答案
检查您用来定位测试程序集的模式。我在另一个库中遇到了类似的问题,结果发现模式是在 bin\Release 和 obj\Release 下找到测试程序集; obj 文件夹不包含项目引用的所有程序集,实际上只是编译器的临时文件夹。
关于.net - "Could not load file or assembly"使用团队城市构建时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21164646/