簡體   English   中英

在asp.net Web應用程序中使用后無法刪除托管dll

[英]Unable to delete managed dll after using it in an asp.net web application

我在ASP.net Web應用程序中使用NHunspell。 NHunspell包裝了Hunspellx86.dll或Hunspellx64.dll,這兩個都是非托管的dll。

問題是這樣的:當我處理我的NHunspell對象(從kernel32.dll調用FreeLibrary )時,似乎IIS仍然掛在它上面 - 正如windbg和tasklist /m所證明的那樣。 例如,如果我嘗試使用自動構建過程替換該dll,或者運行安裝程序來更新我的Web應用程序,則會出現問題:因為dll正在使用中,所有內容都會失敗。

我想知道是否有人可以證實我的懷疑,事實上,IIS正在緩存它? 另外,為什么我可以從IIS下刪除托管dll(即使tasklist報告IIS使用的那些dll)?

最后,我正在尋找有關如何實際刪除此dll以進行自動構建/安裝的建議?

非常感謝!

如果您在IIS 6或更高版本上運行,則可以停止特定的應用程序池。 但是,什么是不覆蓋文件的確切構建命令? 我們使用TFS構建自動化步驟將我們的文件復制到運行IIS的測試服務器,該服務器具有所有正在使用的dll並且沒有問題。 我無法確認它是如何做到的,我懷疑它是使用XCOPY,但我不能確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM