2012-01-19 62 views
3

昨天,大約兩年後,我們重新部署了我們的應用程序。守則沒有改變,但組成的項目結構已重新組織爲較小的項目。直到今天(下午5.29),我們的一位用戶指出了一個問題,似乎一切正常。從遇到的錯誤的性質,很明顯,新部署的應用程序是而不是使用重新組織的解決方案中的新DLL,而仍舊使用舊的。我確認刪除了仍在部署bin文件夾中的舊DLL,並意識到這導致應用程序中斷。ASP.Net - 新版本的代碼是否還在使用以前的程序集?

我刪除了%WINDIR%/Microsoft.Net/Framework/v2.0/Temporary Internet Files下的東西,但問題仍然存在。如果有人能夠解釋這個和/或提出永久可靠的解決方案,我將非常感激。

+0

在您的測試環境中,一切正常嗎? – Shyju

+0

是的,並且也在臨時環境中。 – 5arx

回答

3

我們已經看到3個不同的場景導致此確切的問題:在Internet臨時文件

1)緩存的DLL文件。請記住,如果您已將應用程序升級到.Net 4,則此目錄位於v4.0.30319子目錄中。

2)在IIS或用戶瀏覽器中緩存頁面。將網站上的到期時間更改爲立即(至少暫時)通常可以解決此問題。 3)應該被更新但不是的DLL。這個問題有兩個類別:

a)DLL上的版本未更新,因此未部署新版本。

b)要部署的代碼未被開發人員正確簽入或在構建機器上籤出。

我們一直能夠通過驗證上述每個項目來解決問題。

+0

感謝您的回覆。我們在以下過程中解決了這個問題: 1.刪除'bin'文件夾 2.隨後意識到在'web.config'(在HttpModules部分)中提到了一箇舊的命名空間並將其更新爲指向新的一個。 – 5arx

0

我有類似的問題。有時調試工作,其他時間沒有。我發現在調試> Windows>模塊視圖中加載了多個.dll(舊的和新的)。 我發現我在同一個解決方案(.Net 4和4.5.1)中有多個.Net框架版本。

解決方案: 已停止IIS,已清理均爲 .Net框架臨時文件文件夾。清理解決方案。將單個4.5.1項目更改回4並重建。現在我沒有問題了。

相關問題