我在VS2010 Express中编写了一堆单元测试,但是测试有时会失败。由于VS的express版本不允许插件运行,因此我无法像使用TestDriven.Net或类似工具来调试测试。为了解决这个问题,我将我的测试程序集转换为控制台应用程序,并使主方法看起来像这样:
class CrappyHackToDebugUnitTestInVSExpress
{
public static void Main()
{
AppDomain.CurrentDomain.ExecuteAssemblyByName(
@"C:\Program Files\NUnit 2.5.5\bin\net-2.0\nunit-console.exe",
new [] { Assembly.GetExecutingAssembly().Location, "/framework:4.0" });
}
}
理论上我应该能够运行这个程序,在我的测试中设置断点。如果它能够正常工作,那么这将是一个可接受的解决方案,但是我一直收到以下错误信息:
FileLoadException
Could not load file or assembly 'C:\\Program Files\\NUnit 2.5.5\\bin\\net-2.0\\nunit-console.exe'
or one of its dependencies. The given assembly name or codebase was invalid.
(Exception from HRESULT: 0x80131047)
现在文件已存在,手动运行nunit-console也能正常运行。我的问题可能是什么?