我正在使用 Visual Studio 2012,并且正在使用 Visual Studio 的测试框架 ( mstest ) 开发一些集成测试。
几天前,我发现了一些关于现在 Visual Studio 2012 可以在输出目录(即bin\Debug、bin\Release)中执行测试的信息,并且我禁用了部署以简化很多事情。
尽管大多数事情都按预期工作,但我发现了一个大问题:一些代码使用类[ClassInitialize]
执行进程,并且在禁用部署之后,每当启动进程时,我都会收到此错误:Process
我的第一印象是,启动过程中的某些东西可能不正确,我将相同的命令和参数复制粘贴到CMD中,它按预期工作。
经过一番调查,我弄清楚了为什么会这样:因为我将测试运行器配置为作为 64 位进程启动。切换到 X86 后,例如Process.Start("cmd")
工作。
但更糟糕的是SQLCMD——我在测试运行中启动的实际进程——仍然失败并出现所谓的错误。
在 Visual Studio 测试运行程序中启动任何进程时会发生此错误。
从测试运行程序启动时 SQLCMD 会发生什么?