我最近发现可以通过重命名文件然后执行复制来复制正在使用的程序集。 E.G。
C:\ Folder \ MyLibrary.dll
=>重命名为C:\ Folder \ MyLibrary.dll_old
=>复制新版本C:\ Folder \ MyLibrary.dll(v2.0)
有人告诉我,下次应用程序启动时,它会加载这个新程序集。当应用程序继续运行时,它将继续使用旧的程序集(即使它已重命名为_old)。
看起来像是对我的黑客攻击。以这种方式更新程序集是否安全?
答案 0 :(得分:3)
很安全。只要旧程序集保持加载状态,相同的应用程序域就不会再次尝试加载它。文件名对于继续执行应用程序并不重要。
但是,在生产使用中,您可能需要考虑3个以上的同步版本以及最终删除未使用文件的机制。