9

trueに設定すると、ファイルがシャドウコピーされますが、シャドウコピーとはどういう意味で、なぜファイルをシャドウコピーする必要があるのでしょうか。

4

1 に答える 1

16

シャドウコピーは、参照しているアセンブリのコピーを作成します。

この理由は、.Net(より正確にはWindows)は、一度ロードされると、プロセス内の(一部の)アセンブリをアンロードできないためです。このため、ファイルはOSによってロックされたままであるため、プロセス全体をシャットダウンせずにアセンブリを置き換えることはできません。

ただし、シャドウコピーがある場合、.Netは実際にそれを使用してクラスをロードし、元の.dllファイルを置き換えることができ、シャドウコピー(誰も「気にしない」)のみがロックされたままになります。

これは、一部の環境では特に重要です(たとえば、新しいバージョンのWebアプリケーションを実行するためだけにサーバー全体をシャットダウンしたくないWebサーバーなど)。

于 2010-04-21T23:13:16.033 に答える