从程序集中获取所需的运行时版

时间:2014-03-02 01:16:14

标签: c# .net clr appdomain

我需要获得我的程序集所需的CLR版本,然后删除程序集。这些中的每一个都是微不足道的,但如果我想要同时执行这两个操作,我会遇到问题:要获取ImageRuntimeVersion属性的值,我需要加载程序集。这可以防止我删除文件,因为文件正在使用中。我试图在一个单独的appdomain中加载该文件,但是失败了很糟糕(例如,有一些错误,即使我使用构造函数加载它,使用byte []作为参数或另一个错误,也无法找到该文件:SecurityException说一些关于RegistryPermission的信息)。

1 个答案:

答案 0 :(得分:1)

您是否可以将程序集读入内存流并加载?它应该可以避免锁定原始程序集,但我从其他注释中看到这将导致任何链接的程序集锁定。

然后你要删除的程序集只是一个断开连接的文件,所以在你读完之后把它丢弃后,你应该可以删除它。