9

我知道当你设置为 true 时,它​​会影子复制文件。但是影子复制是什么意思,为什么我们需要影子复制文件?

4

1 回答 1

16

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

这样做的原因是 .Net(更确切地说是 Windows)一旦加载就无法在进程中卸载(某些)程序集。因此,您永远无法在不关闭整个过程的情况下替换程序集,因为文件仍被操作系统锁定。

但是,如果您有一个影子副本 .Net 实际上使用它来加载您的类,您可以替换原始的 .dll 文件,并且只有影子副本(没有人“关心”)保持锁定状态。

这在某些环境中尤其重要(例如,您显然不想关闭整个服务器以运行某些 Web 应用程序的新版本的 Web 服务器)。

于 2010-04-21T23:13:16.033 回答