启动本机应用程序时,无法调试托管类库

时间:2013-11-20 16:00:10

标签: .net debugging visual-studio-2012

在visual studio 2005中,我们可以构建托管类库并通过将启动外部程序路径设置为本机应用程序来调试它们。本机应用程序将通过com。

创建和运行托管代码

在visual studio 2012中,相同的过程似乎不起作用。启动本机应用程序时,模块窗口中似乎没有加载任何内容。

分离调试器并重新连接到正在运行的进程会导致加载模块,现在可以调试托管类库。

如何自动加载模块?

1 个答案:

答案 0 :(得分:1)

当本机应用程序启动使用与Visual Studio工具版本不同的CLR的.NET Framework版本时,会发生这种情况。

例如,如果您的本机应用程序使用.NET 2.0并且您正在使用VS2012,那么您需要手动将调试器指向正确的框架版本。

您可以通过添加指定CLR版本的[native application] .exe.config文件来实现此目的(例如,到.NET 2.0 - 3.5,CLR 2.0):

<?xml version ="1.0"?>
<configuration>
    <startup>
        <!-- Required for automatic Module debugging. -->
        <supportedRuntime version="v2.0.50727" />
    </startup>
</configuration>

如果您想了解更多信息,这是一个众所周知的问题:

http://blogs.msdn.com/b/andrehal/archive/2010/04/29/can-t-hit-breakpoints-in-a-plug-in-or-can-t-debug-net-2-0-3-0-3-5-from-a-mixed-mode-exe-project-with-visual-studio-2010.aspx