Visual studio 2010 使用nunit控制台和VS宏调试Visual Studio 2010测试

Visual studio 2010 使用nunit控制台和VS宏调试Visual Studio 2010测试,visual-studio-2010,debugging,nunit-console,visual-studio-macros,Visual Studio 2010,Debugging,Nunit Console,Visual Studio Macros,我正在尝试使用VS宏使用nunit控制台从visual studio调试测试,但在将调试器/IDE附加到nunit控制台/nunit代理时遇到问题。我确实有宏在工作,如果我只是想运行测试,问题只是在附加调试器时 我似乎有点僵持不下的问题。当我启动宏时,它会冻结IDE。附加之后,测试在断点处暂停(我想),但我看不到这一点,因为IDE被冻结了。我不能单步执行etc,因为宏正在锁定IDE,我不能继续测试,因为它在断点处停止。有什么想法吗 我不能使用resharper/testdriven/extens

我正在尝试使用VS宏使用nunit控制台从visual studio调试测试,但在将调试器/IDE附加到nunit控制台/nunit代理时遇到问题。我确实有宏在工作,如果我只是想运行测试,问题只是在附加调试器时

我似乎有点僵持不下的问题。当我启动宏时,它会冻结IDE。附加之后,测试在断点处暂停(我想),但我看不到这一点,因为IDE被冻结了。我不能单步执行etc,因为宏正在锁定IDE,我不能继续测试,因为它在断点处停止。有什么想法吗

我不能使用resharper/testdriven/extensions等,没有第三方,不要问:(,所以是宏,类似它的东西,或者什么都没有

使用Nunit 2.5.7,VS 2010,.net 4项目

到目前为止我所拥有的

process.Start() 'run nunit-console

If attachDebugger then
 For Each debugProcess As EnvDTE.Process In DTE.Debugger.LocalProcesses

   ' no parent process ID on process type, so have to look at name for the agent.
   If debugProcess.ProcessID = process.Id Or debugProcess.Name.Contains("nunit-agent") Then
     debugProcess.Attach()
   End If

 Next
End If    

process.WaitForExit()

DTE.Debugger.DetachAll()

这只是一个猜测,但我怀疑VisualStudio正在其孤独的UI线程上运行宏

也许你可以试试这个:

在你的宏中,旋转另一个线程并运行你在其中编写的代码。让宏立即退出