【发布时间】:2013-09-21 17:52:38
【问题描述】:
我正在执行一项任务,我必须加载 dll 并从中获取一些信息,例如类名等...但是当我将该 dll 加载到我的代码中时,它会被锁定并且无法构建源代码,直到我关闭加载程序,我已经尝试了某些解决方案,但它们都不适合我
Shadowcopy:在这种情况下,当我进行卷影复制程序集时,之后如果我更改了某些内容
我的主 dll 在我的加载应用程序中仍然是旧的。System.Reflection.assembly.loadfrom(System.IO.GetBytes("asm-path")); //有时工作,但并非总是工作
System.Reflection.assembly.ReflectionOnlyConext(); //不起作用
有没有合适的解决办法
【问题讨论】:
-
Assembly.LoadFrom() 没有采用 byte[] 的重载,而且 System.IO 中当然没有名为 GetBytes() 的方法。相当草率的研究。 Assembly.Load(byte[]) 肯定不能对文件加锁。不要使用它。