當.NET程序集部署到GAC並且目標文件被鎖定時,Windows將它保留在我最可能猜測的某種「組裝煉獄」中 - c:\windows\assembly\temp
。'裝配煉獄'會發生什麼?
使用處理資源管理器爲可疑DLL搜索時這些可以很容易地看出:
Process Explorer Search http://alexangas.com/blog/wp-content/uploads/2009/07/peasmlist.png
當我結束該進程鎖定該文件(在這種情況下OWSTIMER.EXE)它被部署神奇正確地向GAC發送。
我很好奇Windows在這裏實際上在做什麼。它如何知道文件鎖定何時被釋放?它在哪裏保留鎖定文件的記錄?它有沒有放棄?