2013-04-25 82 views
0

我正在使用HtmlAgilityPack在Visual Studio 2012中使用Web應用程序。我的項目在應用程序的bin文件夾中引用dll的1.4.0.0版本。以前它使用1.3.0.0DLL被Visual Studio項目中的舊版本覆蓋

該應用程序可以工作,但大約每天一次bin文件夾中的dll被覆蓋,用1.3.0.0替代版本1.4.0.0。第一次發生這種情況時,我已經檢查過GAC並刪除了我的ASP.NET臨時文件夾。有人知道這裏發生了什麼嗎?

+2

使它只讀與attrib.exe,因此它不能被刪除。有些東西應該會爆炸!當它再次發生時。給初級團隊成員休息一天是消除可能性的常用方法。 – 2013-04-25 20:23:26

+0

這似乎是一個相當不錯的途徑嘗試。我會讓你知道發生了什麼。 – 2013-04-25 20:38:43

+0

只讀似乎沒有影響它。我相信在項目上工作的人之一是提交引用舊版DLL的項目文件。這一點,加上我經常運行其他使用1.3的應用程序的事實,使我相信IIS正在將1.3緩存在asp緩存中。 – 2013-05-10 13:04:40

回答

0

您還需要從解決方案資源管理器中刪除解決方案的參考列表中的1.3.0.0 dll。

+0

當我們更新到版本1.4.0.0時,1.3.0.0引用被刪除 – 2013-04-25 15:29:32

0

較舊的.dll顯然是從您的解決方案中的某處引用的。我會在編輯器中打開項目文件,並在那裏查找對舊版本的任何引用。

如果找不到任何東西,我的猜測是你依賴的其他庫或組件是引用舊版本的.dll(你是否使用任何第三方庫?)。如果你沒有這些源代碼,那麼也許你可以使用JustDecompile或類似的工具反編譯它們。然後,你至少可以檢查你使用的dll內的引用,並確認或排除它作爲你的問題的根源(沒有雙關語^^)。

哦,還有一件事 - 也許很明顯,但你有沒有設置Specific version = true作爲參考?

+0

'特定版本= true'的確被設置,並且程序失敗,因爲它無法加載該版本(因爲它被1.3覆蓋)。 我們的第三方庫全部更新到1.4版本時使用的版本。 我們的項目文件全文搜索短語「HtmlAgilityPack」只會產生對版本1.4.0.0的正確引用。 – 2013-04-25 15:32:25

+0

我們還添加了一個版本重定向到我們的Web.config。 – 2013-04-25 15:33:46

相關問題