加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网_保定站长网 (https://www.52baoding.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

读取程序集Guid而不将DLL锁定在中等信任ASP.Net的appdomain中

发布时间:2021-01-26 10:12:00 所属栏目:系统 来源:网络整理
导读:是否可以从程序集中读取GUID,而无需在当前App域中实际加载它. 通常,Assembly.Load将DLL加载到app域中.我只想读取价值. GUID的描述是 'The following GUID is for the ID of the typelib ' if this project is exposed to COMAssembly: Guid("DEDDE61CD-928E-

是否可以从程序集中读取GUID,而无需在当前App域中实际加载它.

通常,Assembly.Load将DLL加载到app域中.我只想读取价值.

GUID的描述是

'The following GUID is for the ID of the typelib 
' if this project is exposed to COM
<Assembly: Guid("DEDDE61CD-928E-4ACD-8C25-3B8577284819")>

主要的是我不想锁定文件,以便没有错误’另一个进程正在访问文件’错误.

解决方法

如果使用 Assembly.ReflectionOnlyLoad(byte[])加载程序集,则会将其作为阴影加载,并且不会锁定文件.

var bytes = File.ReadAllBytes(path);
var assembly = Assembly.ReflectionOnlyLoad(bytes);

这通常是反射器等工具在不锁定它们的情况下访问组件的方式.

(编辑:天瑞地安资讯网_保定站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!