我們有一個單元測試的子集,直到最近一直通過Visual Studio運行。我現在正在開發一個可以運行測試的持續集成設置。所有的測試通過Visual Studio運行時通過,但是當我嘗試從命令行使用mstest運行它們時,它們會失敗,並顯示「TypeInitializationException」,表示無法找到該類型的dll文件。當從命令行運行mstest時TypeInitializationException
System.TypeInitializationException: The type initializer for foo.bar_Accessor' threw an exception.
---> System.IO.FileNotFoundException: Could not load file or assembly 'foo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
The system cannot find the file specified.Assembly manager loaded from:
c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
有問題的dll是單元測試項目中的項目引用。還有一個測試參考可以創建該類的foo.bar_Accesor版本。
我注意到,當測試通過visual studio運行時,會創建一個包含IN和OUT文件夾的「Coverage _timestamp」文件夾。 OUT文件夾中包含foo.dll和foo_accesor.dll等。
當從命令行運行測試時,會創建一個僅包含OUT文件夾的「username _timestamp」文件夾。 OUT文件夾中包含foo_accesor.dll,但不包括錯誤消息中提到的foo.dll。
有同樣的問題。有沒有找到解決方案? – Peter 2012-01-06 07:45:48