我正在通过 System.Reflection.Assembly.LoadFile 加载 DLL
并在插件式系统中反射(reflect)它的成员。
我需要能够在系统运行时更新/覆盖这些DLL
,但似乎在调用System.Reflection.Assembly.LoadFile
之后,文件随后被锁定。< br/>
有谁知道解锁文件的方法吗?
我已阅读有关在单独的应用程序域中加载文件的信息?这种方法有什么陷阱吗?
最佳答案
如果你使用这个:
System.Reflection.Assembly.Load(System.IO.File.ReadAllBytes(path))
它不会锁定文件。
编辑
<小时/>虽然这有效,但它不是最好的解决方案,但是更好的方法涉及更多内容(对于仅将所有代码粘贴到此处来说太多了)。
我已经在 Github 上创建了一个公共(public)存储库,其中包含正确执行此操作的所有代码:
关于asp.net - System.Reflection.Assembly.LoadFile 锁定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1031431/