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

ggo*_*alv 3 .net vb.net asp.net reflection appdomain

是否可以从程序集中读取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")> 
Run Code Online (Sandbox Code Playgroud)

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

hem*_*emp 6

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

var bytes = File.ReadAllBytes(path);
var assembly = Assembly.ReflectionOnlyLoad(bytes);
Run Code Online (Sandbox Code Playgroud)

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