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

标签 c# .net windows

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

C:\Folder\MyLibrary.dll
=> rename to C:\Folder\MyLibrary.dll_old
=> copy new version C:\Folder\MyLibrary.dll (v2.0)

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

对我来说似乎是一个 hack。以这种方式更新程序集安全吗?

最佳答案

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

但是,在生产使用中,您可能不得不考虑 3 个以上的同时版本和最终删除未使用文件的机制。

关于c# - 重命名和复制程序集是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11319735/

相关文章:

c# - 使用 system.io.ports c# Windows IoT Universal

c# - 自定义属性未正确添加到 Reflection.Emit 程序集中

c# - (C#、WinForms)如何为 ImageList 中的图像分配可访问性属性

c# - 设置 DataGridView 列 [0] 宽度以适合列中最大的文本?

windows - 用于 64 位 Windows 和 "no shared cipher"的 OpenSSL

windows - Cmake 文件跨驱动器复制

c# - Visual Studio 可扩展性 - 每个 Visual Studio 版本的不同 MEF 导出?

c# - 提高将数据上传到数据库的性能

.net - 使用WMI查询已登录用户的结果很奇怪

java - 检查另一个用户是否有写文件的权限