诊断DebuggerTypeProxy属性不起作用的原因

Jus*_*tin 5 .net debugging visual-studio-2008 visual-studio

我试图通过添加DebuggerTypeProxy属性来调试COM对象的包装器更容易- 该属性似乎在某些时候工作(当运行单元测试等...时),但是当我实际上正在调试目标进程,我不知道为什么:

  • 我已经检查过以确保在模块窗口中加载了正确的程序集,甚至反汇编程序集以确保它是正确的程序集并具有正确的属性等...
  • 我已经尝试将我的调试代理类公开,但这没有任何区别.
  • 我在调试外部进程时在立即窗口中使用了反射,并看到我定义的属性看起来是正确的.

在其上定义了DebuggerTypeProxy属性的其他类(在同一个程序集中)似乎工作正常 - 我只是无法弄清楚为什么

  • 我的DebuggerTypeProxy属性在目标进程中不起作用还有其他原因吗?
  • 是否还有其他方法可以调试/排除属性无效的原因?

Jar*_*Par 1

鉴于您正在使用 Visual Studio 2010,我怀疑嵌入互操作类型功能导致了此问题。尝试关闭嵌入互操作类型并重复您的解决方案。

  • 转到解决方案资源管理器中的引用项
  • 选择每个参考
  • 调出属性网格
  • 将“嵌入互操作类型”更改为 false
  • 重建

然后重复你的场景。