这真的很奇怪,我似乎无法弄清楚为什么它不起作用。
我有一个C#dll是另一个程序的添加,主程序不是我的或.Net应用程序所以我在调试选项卡中启动外部程序并将程序作为命令行传递程序启动并加载我的添加,但我的Visual Studio调试器不会进入调试器,也不会达到我的断点。
我检查了模块窗口,它甚至没有加载到那里,我使用了进程浏览器并查看了主程序,我的dll被加载到主应用程序中。
项目设置为调试,符号设置为完整但仍然没有。
我在VS 2008中创建了这个项目,它运行良好,我现在正试图让它在VS 2010中运行而不是去。
任何人都知道造成这种情况的原因是什么?
答案 0 :(得分:3)
我找到了解决方案,将以下内容复制到名为{ProgramToBeAttached}.exe.config
的xml文件中:
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
Visual Studio 2010在调试器中加载程序时会查看此文件,以获得正确的.NET运行时版本。
答案 1 :(得分:1)
在VS2010中,您是否针对较低版本的框架?如果是这样,请尝试在高级编译选项中将目标框架更改为4.0。