2010-08-02 64 views
5

我試圖使一個COM對象的包裝器更容易處理調試時通過添加DebuggerTypeProxy屬性 - 該屬性似乎工作的一些時間(當運行單元測試等..),但在我實際調試目標進程時不起作用,但我不知道爲什麼:診斷爲什麼DebuggerTypeProxy屬性不起作用

  • 我已檢查以確保正確的程序集正在模塊窗口中加載,甚至拆開大會,以確保其正確的,並具有正確的屬性等...
  • 我試過使我的調試代理類公開,但沒有任何區別。
  • 我在調試外部進程的同時在立即窗口中使用了反射,並發現我定義的屬性看起來是正確的。
  • 有DebuggerTypeProxy屬性上定義(在同一組件)

其他類似乎做工精細 - 我只是想不通,爲什麼

  • 是否有其他的原因,我DebuggerTypeProxy屬性不會在目標流程中工作?
  • 是否有任何其他方式的調試/疑難解答的原因爲什麼該屬性沒有效果?

回答

1

鑑於您正在使用Visual Studio 2010,我懷疑Embed Interop Types功能導致了這個問題。嘗試關閉Embed Interop Types並重復您的解決方案。

  • 轉到參考項目在解決方案資源管理器
  • 選擇每個參考
  • 調出屬性網格
  • 更改 「嵌入互操作類型」 設置爲false
  • 重建

然後重複你的場景。

+0

啊 - 對不起,我錯過了VS2010的問題,但這實際上是在VS2008上發生的。 (抱歉) – Justin 2010-08-26 23:01:57

+0

@Kragen不知何故錯過了您的評論。你在用什麼語言? – JaredPar 2010-09-01 15:32:13

+0

調試器類型代理等...全部用C#編寫 – Justin 2010-09-01 15:52:52

2

我有同樣的問題,發現答案是取消選中工具>選項>調試>常規設置中的「顯示變量窗口中的對象的原始結構」。

+0

這已經打勾,但謝謝你的提示。 – Justin 2010-11-22 02:07:24

1

在Asp.net應用程序中,問題出在代碼訪問安全性方面。 當應用程序完全信任運行時,一切正常。 部分信任 - DebuggerTypeProxy屬性不起作用

0

我也偶然發現了這個問題。

DebuggerTypeProxy在Medium Trust中無法正常工作。

問題通過將DebuggerTypeProxy類從作爲私有嵌套類(在它作爲調試器代理的容器類中)直接轉換爲名稱空間(不嵌套)下的內部類來解決。

以防萬一別人也在同一個問題上絆倒。

0

使用託管兼容模式應該工具選中選項調試一般

相關問題