我有一个Visual Studio解决方案,它有一个带有一个Web角色的云项目(包含一个ASP.NET MVC Web API)。如果我点击F5,Azure模拟器就会启动,我可以很好地调试Web角色。
我还有一个包含集成测试的测试项目,用于测试web api的结尾。在AssemblyInitialize操作中,我使用csrun.exe来部署和启动Azure模拟器,如:
"C:\Program Files\Microsoft SDKs\Windows Azure\Emulator\csrun.exe"
..\..\..\..\Sources\Cfg.Mgp.Infrastructure.Cloud\csx\Debug
..\..\..\..\Sources\Cfg.Mgp.Infrastructure.Cloud\bin\Debug\ServiceConfiguration.cscfg
/useiisexpress
因此,如果我开始测试,Azure模拟器就绪并且测试执行正常。 一切正常。
但是,如果我想从集成测试开始调试它,那么Web API中的断点就不会被命中(但它可以正常执行)。我尝试将调试器附加到IISExpress,WaHostBootstrapper和其他进程,但没有任何作用。
如果使用csrun.exe启动Azure模拟器,有没有人知道如何调试Web角色?
(注意:如果我点击F5,则会启动浏览器;如果我然后运行集成测试,那么Web角色中的断点就会很好。)
答案 0 :(得分:0)
我今天尝试了同样的事情 - 没有 /useiisexpress
标志。发生的事情是我在本地 IIS 上注意到一个网站是由计算模拟器制作的。我以管理员身份重新启动了 Rider,放置了一个测试断点,附加到 w3wp.exe 并且它起作用了。