2010-04-15 80 views
5

我試圖從C#Web服務DLL中引入到外部DLL引用的方法。我正在開發Web服務代碼,並可以從我的Winforms應用程序中進入。我試圖從Web服務中進入的dll是由其他人開發的,我有dll和pdb文件。當我嘗試進入它時,我收到以下消息:C#調試問題:沒有符號加載任何調用堆棧框架

'沒有符號被加載用於任何調用堆棧幀。源代碼不能顯示'。

這裏是我的項目設置:

  • .NET 3.5,VS 2008專業版,IIS 7對Vista終極運行
  • Winforms應用程序WF1.exe,引用web服務的DLL WS1.dll,在1個解決方案我的機器上
  • 數據庫訪問的DLL DA1.dll由另一家開發商,通過WS1.dll引用編譯
  • DA1.dll和DA1.pdb位於WS1 Web服務項目
  • WS1 Web服務聯合的根目錄下的文件mpiled併發布到我的本地IIS,將DA1.dll和DA1.pdb文件複製到IIS WS1 bin目錄中

到目前爲止這麼好,一切正常。我打破並進入WF1.exe,然後打破並進入WS1.dll方法沒有問題。但是,當我嘗試進入DA1.dll的方法時發生錯誤。任何幫助讚賞。

(同樣的意思是說我連接到WebDev.WebServer.EXE過程中要儘量和步入DA1)

乾杯,

夏蘭

+0

您是否從「啓用我的代碼」調試器設置中刪除了複選框?如果沒有去工具 - >選項。在常規頁面中,取消選中「啓用我的代碼(僅限管理)」複選框,然後按確定。然後再試一次。 – Ikaso 2010-04-15 08:38:31

+0

好吧,我刪除了「啓用只是我的代碼」設置。再次運行後,發生了一些奇怪的事情 - 我收到提示提示使用Accept/Decline的.NET用戶端協議許可證屏幕。一旦我接受它,它繼續。然後,當我嘗試進入DA1行時,打開一個對話框,提示我輸入與正在進入的方法關聯的.cs文件。 我跑了第二次,以上都沒有發生。當我嘗試進入DA1方法時,我得到'沒有可用於當前位置的源代碼' – 2010-04-15 09:20:28

回答

6

當你正在調試你可以加載符號DLL中去調試 - >視窗 - >模塊

右鍵單擊相應的DLL和選擇加載符號從 - >符號路徑

如果你仍然有這個問題,只想看看引擎蓋下發生了什麼,你可以在Reflector中打開dll。

+1

我這樣做了,dll在列表中,但它表示符號已加載。無論如何,我手動添加了路徑,但當我嘗試進入方法時,仍然收到'沒有可用於當前位置的源代碼' – 2010-04-15 09:51:51

+0

您是否從第三方DLL獲得異常?如果是這樣,它是否會給你生產線號碼? – 2010-04-15 10:42:26

+0

是的,當我嘗試進入外部DA1.dll中的方法時發生異常。它不給行號只是沒有源代碼消息。 – 2010-04-15 11:32:54