使用Azure Compute模拟器调试单个角色实例

Joh*_*ohn 10 debugging emulation azure visual-studio-2010

我正在构建一个将在Azure上运行的应用程序.我的Visual Studio解决方案包含多个Azure角色项目.在本地调试时,我使用Azure计算模拟器.

要开始调试,我按照以下步骤操作:

  1. 我右键单击我的Azure项目,然后单击设置为启动项目.
  2. 我按F5启动调试器.

现在发生的是模拟器/ vs2010启动我的Web角色和辅助角色,即使我现在只对调试单个辅助角色感兴趣.通常在我的worker角色中编写一些后台处理代码时,我有兴趣在不启动Web角色的情况下单步执行该代码,也可以启动Internet Explorer等.

是否有一种方便的方法使调试器只启动一个角色实例而不是所有角色实例?

我正在考虑在我的Console Application类型的解决方案中创建一个单独的项目,我在其中加载与我的worker角色相同的程序集并执行相同的代码.

Tay*_*ird 7

模拟器(类似于Azure本身)仅适用于"云服务"的概念.因此,当您启动w/debug时,它将启动您的Cloud Service(.ccproj)项目中定义的任何内容.这模仿Azure 100%,这就是它发生的原因,但我可以肯定地看到你的场景会有所帮助.

根据您的需求,几乎没有选择.

如果你需要测试azure-specifics(也就是说它必须在模拟器中运行)

  • 创建第二个解决方案文件,在此处创建新的云服务,添加您的项目. 我喜欢这个选项,因为项目/角色本身保持不变.

  • 斯图尔特在我之前建议,创建第二个云项目,设置为启动,运行它.

  • 与上面类似,创建第二个项目,但不要担心启动.您可以右键单击任何项​​目,转到Debug并选择start w/debugging并实现F5的功能,而无需将F5绑定到此解决方案

如果您不需要测试azure-specifics(即您只是测试角色)

  • 右键单击角色的项目,Debug,Start with Debugging 这样整个解决方案保持不变,您只是在测试逻辑