.net 诊断DebuggerTypeProxy属性不工作的原因
我试图通过添加属性使COM对象的包装器在调试时更易于使用-该属性在某些时候似乎可以工作(当运行单元测试等时),但在我实际调试目标进程时不起作用,我不知道为什么:.net 诊断DebuggerTypeProxy属性不工作的原因,.net,visual-studio,visual-studio-2008,debugging,.net,Visual Studio,Visual Studio 2008,Debugging,我试图通过添加属性使COM对象的包装器在调试时更易于使用-该属性在某些时候似乎可以工作(当运行单元测试等时),但在我实际调试目标进程时不起作用,我不知道为什么: 我已经检查以确保模块窗口中加载了正确的程序集,甚至拆解了程序集以确保它是正确的,并且具有正确的属性等等 我已经尝试过公开我的调试代理类,但是没有任何区别 我在调试外部进程时在即时窗口中使用了反射,并且看到我定义的属性似乎是正确的 其他定义了DebuggerTypeProxy属性的类(在同一个程序集中)似乎工作得很好——我就是不明白为
- 我已经检查以确保模块窗口中加载了正确的程序集,甚至拆解了程序集以确保它是正确的,并且具有正确的属性等等
- 我已经尝试过公开我的调试代理类,但是没有任何区别
- 我在调试外部进程时在即时窗口中使用了反射,并且看到我定义的属性似乎是正确的
- 我的DebuggerTypeProxy属性在目标进程中不起作用还有其他原因吗
- 是否有其他方法可以调试/排除属性无效的原因
- 转到解决方案资源管理器中的“引用”项
- 选择每个引用
- 打开属性网格
- 将“嵌入互操作类型”更改为false
- 重建
然后重复您的场景。我遇到了同样的问题,发现答案是取消选中“工具>选项>调试>常规设置”中的“在变量窗口中显示对象的原始结构”。在Asp.net应用程序中,问题在于代码访问安全性。 当应用程序以完全信任的方式运行时,一切正常。
对于部分信任-DebuggerTypeProxy属性不起作用我也偶然发现了这个问题 DebuggerTypeProxy在中等信任中无法正常工作 通过将DebuggerTypeProxy类从私有嵌套类(在作为调试器代理的容器类中)移动到直接位于命名空间(非嵌套)下的内部类,问题得以解决
以防万一,其他人也会遇到同样的问题。使用托管兼容性模式应在工具、选项、调试、常规中取消选中。啊-抱歉,我没有标记问题VS2010,但这实际上发生在VS2008上。(对不起)@Kragen不知怎么漏掉了你的评论。您使用的是什么语言?调试器类型代理等。。。都是用C#@Kragen编写的,这是只在附加到进程时发生的还是F5也会发生?