14

不知何故,我的VS2008 SP1已經失去了進入.NET框架源代碼的能力。我已經玩過複選框,但沒有結束;我已經重新刪除了Symbol緩存文件夾十幾次;我試過各種調試符號服務器。無法用VS2008 SP1進入.NET框架源代碼

它所做的只是下載一些.PDB文件,但是當我嘗試在.NET中選擇堆棧框架時,我總是收到關於沒有可用源的消息和「是否要查看反彙編」。

什麼給?

加入: Web應用程序; Windows Vista Business x32; .NET 3.5 SP1。

+0

我太多,但我從來沒有SP1 – 2009-02-18 18:05:12

+0

似乎這個功能還不是很成熟,我也遇到過問題,但後來有一天,它再次工作正常使用它... – 2009-02-18 18:36:59

+0

Web應用程序,Windows窗體或服務? – devlord 2009-02-18 20:49:18

回答

3

我相信你的問題是在系統上運行的.Net的不匹配版本,與從符號服務器下載的pdb中的映像版本相比。我在64位Vista和Win7上遇到了同樣的問題。我還沒有找到如何使指令中所示的程序集到2.0.5.xxxx的參考。 SP1的所有服務包在我所indacated兩個操作系統顯示在2.0.0.xxxx的程序集

編輯:開始調試任何應用程序,並按CTRL + ALT + U獲取模塊列表。它顯示了GAC中的哪個程序集正在用於該應用程序

我發表了我認爲對問題更好的描述的博客。 Blog of problem

1

當您進入調試模式時,打開模塊窗口,右鍵單擊框架組件並選擇從Microsoft服務器加載源代碼。

+0

與右鍵單擊堆棧幀並告訴它從Microsoft服務器加載源不是相同的嗎?如果是這樣,那麼它不起作用。但是當我回來工作時,我會明天嘗試這個建議。 – 2009-02-18 19:01:45

0

我在2005年這在很大程度上碰上這幾次是巫術,可能無關緊要,但無一例外這裏是答案(爲我的作品):

  1. 終止服務
  2. 刪除任何本地.pdbs
  3. 擺脫(例如)C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files中的臨時文件(無論是項目相關文件還是全部)
  4. 重新啓動服務
  5. 如果沒有工作,重複1-4,重新啓動,然後嘗試
0

我注意到,如果當您運行網站時發生此問題,啓用IIS中的HTTP保留可以修復它。

0

我在不同的機器上遇到同樣的問題。 我現在在Win7 x86上使用.NET v2.0.50727 CLR(3.5sp1)。 最多的post沒有幫助。 請注意,「Microsoft Symbol Server」不是帶有.NET源代碼的源服務器。它託管沒有源信息的PDB(非索引)。對於.NET源,我們需要從「http://referencesource.microsoft.com/symbols」索引PDB並啓用源服務器支持。 但有時它停止工作。 我猜無法下載索引.net的PDB(如前所述)與版本衝突有關。

我能說的只有這個:

WinServer 2008 R2 3.5.30729.4926 - 工程

Win7的86 3.5.30729.4918 - 好好嘗試一下工作

我的意思是 「不工作」 是什麼:嘗試「從符號路徑加載」(從模塊或堆棧窗口,無所謂),並獲得對話框選擇.pdb(位於例如C:\ Windows \程序集\ GAC_32 \ mscorlib \ 2.0.0.0__b77a5c561934e089 \ mscorlib。 pdb)。這是VS無法下載dll的pdb。絕對相同的WinSrv2008r2操作使VS下載pdb和(如果啓用了源服務器支持)源。

1

我有問題,我不能步入框架源代碼。

然後,我去了項目設置,並將目標平臺設置爲「任何CPU」,然後魔術發生了,默認情況下目標平臺設置爲「x86」。

我的平臺Win7的X64,VS2010