重命名和复制程序集是否安全?

P.B*_*key 5 .net c# windows

我最近发现可以通过重命名文件然后执行复制来复制正在使用的程序集.例如

C:\ Folder\MyLibrary.dll
=>重命名为C:\ Folder\MyLibrary.dll_old
=>复制新版本C:\ Folder\MyLibrary.dll(v2.0)

有人告诉我,下次应用程序启动时,它会加载这个新程序集.当应用程序继续运行时,它将继续使用旧的程序集(即使它已重命名为_old).

看起来像是对我的黑客攻击.以这种方式更新程序集是否安全?

Jir*_*ika 3

这是安全的。只要旧程序集保持加载状态,同一应用程序域就不会尝试再次加载它。文件名对于应用程序的继续执行并不重要。

然而,在生产使用中,您可能必须考虑 3 个以上的同步版本以及最终删除未使用文件的机制。