我有一个Visual Studio解决方案,里面有四个C#项目.我想从我的主项目中进入解决方案中的支持项目的代码,但是当我使用"Step into"键时,它只是跳过对其他项目的调用.我在支持项目中设置了断点,它们被忽略了,我不能为我的生活让它进入任何对该项目的引用.
一切都设置为编译为"调试",我已经看到Visual Studio警告我,我的断点将不会被击中 - 在这种情况下它不会这样做.就好像我的代码会调试一样,但是在运行时,有一个设置,告诉Visual Studio不要单步执行该项目中的代码.我的解决方案中的所有其他项目都可以正常调试.
我检查了什么盒子导致这种行为?
更新CLARITY:"Just my code"选项目前已禁用.此外,由于代码属于同一解决方案中的项目,我不认为"仅我的代码"选项适用于此处.我认为它只适用于我没有源代码的预编译代码,但由于我的项目中有源代码,我不认为这个选项有任何影响.
不确定是不是这样,但"工具>选项>调试>常规:启用我的代码"是可能的.(我更喜欢永远不加以控制.)
事实证明,在调试之前,需要将程序集复制到GAC中.在调试选项"Just my code"下,如果您没有任何用户代码,可以选择禁止错误,并且它可以抑制以下错误:
以下移动设备是在启用优化或没有调试信息的情况下构建的.(模块名称和路径)要调试此模块,请将其构建配置更改为调试模式.
由于我在Debug配置中构建它,我搜索了该错误消息并获得了:
http://claytonj.wordpress.com/2008/01/04/the-following-module-was-built-either-with-optimizations-enabled-or-without-debug-information/
问题解决了.我不知道为什么它需要加入GAC才能让我进入项目,但确实如此.我不问为什么,我只是问怎么样,然后我这样做......
要检查的一件事是您的支持项目组件尚未安装在GAC中.打开命令提示符并运行以下命令以确保...
gacutil/l assemblyName