.net 调试C#COMVisible类方法时,Visual Studio 2010不会在断点处停止

.net 调试C#COMVisible类方法时,Visual Studio 2010不会在断点处停止,.net,visual-studio,com,debugging,breakpoints,.net,Visual Studio,Com,Debugging,Breakpoints,我正在开发C#COM组件。这个组件是从应用程序插件调用的,当我将调试器手动附加到应用程序时,它会在断点处停止。但当我使用VisualStudio调试命令(F5键)并在项目调试器设置中指定“启动外部程序”时,VisualStudio不会在断点处停止 简言之: *设置断点、编译、启动应用程序、将调试器连接到调试“托管(v2.0、v1.1、v1.0)代码”、exec插件方法-VS在断点处停止。 *设置断点,指定启动外部程序,按F5键-应用程序启动,exec插件方法-VS跳过断点。“Attach To…

我正在开发C#COM组件。这个组件是从应用程序插件调用的,当我将调试器手动附加到应用程序时,它会在断点处停止。但当我使用VisualStudio调试命令(F5键)并在项目调试器设置中指定“启动外部程序”时,VisualStudio不会在断点处停止

简言之: *设置断点、编译、启动应用程序、将调试器连接到调试“托管(v2.0、v1.1、v1.0)代码”、exec插件方法-VS在断点处停止。
*设置断点,指定启动外部程序,按F5键-应用程序启动,exec插件方法-VS跳过断点。“Attach To…”命令显示的是ProteusDebugEngine,而不是某种托管代码。

问题是调试器无法确定要使用的两个引擎中的哪一个,因为正在启动的应用程序不是托管的。因此它默认为4.0引擎。您必须通过显式地告诉调试器正在使用什么运行时来告诉调试器您想要一个不同的引擎

为要调试的应用程序创建或编辑配置文件,并向其中添加SupportedRuntime元素

<?xml version ="1.0"?>
 <configuration>
  <startup>        
    <supportedRuntime version="v2.0.[version on your machine]" />
  </startup>
</configuration> 

请参阅。

检查此项: