无法在使用外部程序启动的VS 2010调试器中调试代码

3

这真的很奇怪,我似乎无法弄清楚为什么它不起作用。

我有一个C# dll,是另一个程序的附加组件,主程序不是我的或者不是.Net应用程序,因此我在调试选项卡中使用“启动外部程序”来启动它,并将我的程序作为命令行传递,程序启动并加载我的附加组件,但我的Visual Studio调试器不会进入调试器,也不会触发我的断点。

我检查了模块窗口,它甚至没有加载进去,我使用了Process Explorer查看了主程序,我的dll已经加载到主应用程序中。

该项目已设置为调试,符号为完整,但仍然没有任何作用。

我在VS 2008中创建了该项目,它可以正常工作,现在我正在尝试在VS 2010中使其工作,但是没有成功。

有人知道可能是什么原因吗?


今天将发布最终版本。希望您届时能试用一下 :) 别再考虑Beta 2了,它太老旧而且不完整。 - Lex Li
这个问题解决了吗?我在非测试版上好像遇到了同样的问题。 - PICyourBrain
@Jordan 请看我对这个问题的回答。 - Nathan W
2个回答

3
我找到了解决方案,请将以下内容复制到名为{ProgramToBeAttached}.exe.config的xml文件中:
<?xml version="1.0"?>
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
</configuration>

当Visual Studio 2010在调试器中加载程序时,会查看这个文件以获取正确的.NET运行时版本。


1
在VS2010中,您是否针对较低版本的框架进行开发?如果是,请尝试在高级编译选项中将目标框架更改为4.0。

我还不确定是否想要立即这样做。这将是一个分布式应用程序。 - PICyourBrain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接