Dot-Net

appdomain 中的 ShadowCopyFiles 屬性有什麼作用?

  • April 21, 2010

我知道當你設置為 true 時,它會影子復製文件。但是影子複製是什麼意思,為什麼我們需要影子復製文件?

卷影副本創建您正在引用的程序集的副本。

這樣做的原因是 .Net(更確切地說是 Windows)一旦載入就無法在程序中解除安裝(某些)程序集。因此,您永遠無法在不關閉整個過程的情況下替換程序集,因為文件仍被作業系統鎖定。

但是,如果您有一個影子副本 .Net 實際上使用它來載入您的類,您可以替換原始的 .dll 文件,並且只有影子副本(沒有人“關心”)保持鎖定狀態。

這在某些環境中尤其重要(例如,您顯然不想關閉整個伺服器以執行某些 Web 應用程序的新版本的 Web 伺服器)。

引用自:https://stackoverflow.com/questions/2687166