2009-01-21 76 views
0

當我們嘗試訪問它時,預編譯的ASP.NET 2.0(Visual Studio 2005)應用程序正在拋出此錯誤。ASP.NET 2.0「BC2017:無法找到庫」 - 如何強制.NET查找正確的版本?

編譯器錯誤信息:BC2017:找不到庫 'C:\ WINDOWS \裝配\ GAC_MSIL \ System.Web.Mobile \ 2.0.0.0__b03f5f7f11d50a3a \ System.Web.Mobile.dll程序'

兩個直接的問題,映入腦海:

  1. 我們正在運行的.NET版本2.0.50727,不2.0.0.0
  2. 我們的GAC位於「C:\ WINDOWS \ Microsoft.NET \框架\ V2 .0.50727 \ Temporary ASP.NET Files,「not」C:\ WINDOWS \ assembly \ GAC_MSIL \ 「

所以很顯然,它正在尋找過時的版本的大會,它正在尋找它在錯誤的地方。

不幸的是,我們無法重新編譯應用程序,因爲我們正在爲客戶端託管它,並且無法從原始開發人員獲取源代碼。有沒有辦法強制ASP.NET應用程序使用當前版本的System.Web.Mobile.dll以及它需要的任何其他標準.NET程序集?

當然,我們會向他們講解付費開發人員的危險,而不是獲取源代碼,但我們一定會幫助他們運行這些東西,直到他們能夠替代它爲止。

編輯:事實證明,問題是由於影響GAC的磁盤損壞。現在我們遇到了與重建GAC有關的其他.NET問題,但這是另一回事。結束這個問題。

回答

2

如果你把DLL的它看起來在同一文件夾作爲應用程序本身,它應該有先回落至版本在GAC

前編輯:剛發現http://www.dll-files.com/。你可以檢查,看他們有你的DLL的正確版本的ID

+0

我將不得不把所有的ASP.Net標準DLL(如System.Mobile.Web)在應用程序文件夾?我能否將2.0.50727版本放在該文件夾中,因爲我似乎無法獲得2.0.0.0版本? – 2009-01-21 21:13:13