【问题标题】:Visual Studio 2010 does not stop on breakpoint when debugging C# COMVisible class methods调试 C# COMVisible 类方法时,Visual Studio 2010 不会在断点处停止
【发布时间】:2011-06-16 22:12:15
【问题描述】:
我正在开发 C# COM 组件。该组件是从应用程序插件调用的,当我手动将调试器附加到应用程序时,它会在断点处停止。但是当我使用 Visual Studio 调试命令(F5 键)并在项目调试器设置中指定“启动外部程序”时,Visual Studio 不会在断点处停止。
简而言之:
* 设置断点、编译、启动应用程序、附加调试器以调试“托管(v2.0、v1.1、v1.0)代码”,执行插件方法 - VS 在断点处停止。
* 设置断点,指定启动外部程序,按 F5 - 应用程序启动,执行插件方法 - VS 跳过断点。 “附加到...”命令显示 ProteusDebugEngine 而不是某种托管代码。
【问题讨论】:
标签:
.net
visual-studio
com
debugging
breakpoints
【解决方案1】:
问题在于调试器无法确定要使用它的两个引擎中的哪一个,因为正在启动的应用程序不是托管的。所以它默认为4.0引擎。您必须通过明确告诉调试器正在使用哪个运行时来告诉调试器您想要一个不同的引擎。
为您要调试的应用程序创建或编辑配置文件并向其中添加 SupportedRuntime 元素。
<?xml version ="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.[version on your machine]" />
</startup>
</configuration>
见MSDN blog entry。