是否可以从程序集中读取 GUID,而无需将其实际加载到当前应用程序域中。
通常,Assembly.Load 将 DLL 加载到应用程序域中。我只想读取值。
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);
这通常是诸如 Reflector 之类的工具在不锁定程序集的情况下访问程序集的方式。
关于.net - 读取程序集 Guid,而不将 DLL 锁定在中等信任的 ASP.Net 应用程序域中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2922775/