2011-09-29 33 views
2

我有一個Web應用程序在Visual Studio 2008中的Web服務和幾個Web窗體。當我嘗試調試時,我的斷點都不可用;如果我鼠標移到他們,我看到:爲什麼ASP.NET加載我的Web應用程序程序集的錯誤版本?

「斷點不會被打的源代碼是比原來的版本不同。」

加載的調試模塊列表包含我的程序集的舊版本1.0。*。我已經將它更改爲1.1.0.0,但該版本從未加載。我試圖停止IIS並刪除Temporary ASP.NET Files中的文件,但是當我重新啓動它時,1.0。*版本馬上回來了!編譯輸出肯定是1.1.0.0而不是1.0。*,那麼它可能來自哪裏?當我使用VS開發服務器而不是IIS時,會發生同樣的事情。

感謝

+1

你做了一個乾淨的構建? –

+0

您可能可能引用了GAC中的1.0程序集或項目源外部的其他位置。在「參考」下的樹中找到它並檢查路徑。 –

+0

@ DanielA.White - 很多。 –

回答

3

我見過當DLL中的臨時ASP.NET Files文件夾中緩存這一點。嘗試做一個「全部重建」,如果仍然存在,請將DLL從臨時文件夾中刪除,或完全清除文件夾內容。

+0

不幸的是,沒有奏效。我也嘗試刪除並重新創建IIS中的虛擬目錄。 –

+0

你可能有過時的參考嗎? –

+0

不,我只是對Web服務進行了小代碼更改。沒有改變任何參考。 –

0

我有一個非常類似的問題:

  1. Web應用程序引用組件包含資源。
  2. 當使用非默認文化(其中一個資源內置到satellite * .resources.dll程序集中)時,一些資源已經正常使用,但有些資源會回退到缺省語言。
  3. 刪除臨時ASP.NET文件或清除\建設沒有幫助

問題是,大多數的工具,可用於診斷組件加載問題(Process Explorer中加載的程序集和路徑,fuslogvw名單對於程序集綁定日誌)根本不顯示衛星程序集。

但最後我發現,有老版本的衛星集會的權利在我的web應用程序的bin文件夾(仍然不知道它是如何到達那裏)和集探測\加載過程中它得到優先...

相關問題