我收到包含汇编数据的字节数组.如何在不在appdomain中加载程序集的情况下从此数据中获取程序集名称?
var assemblyName = GetAssemblyName(byte[] asmData);//doesn't load assembly to appDomain.
Run Code Online (Sandbox Code Playgroud)
要获取程序集名称而不将其加载到当前应用程序域中,请创建一个新的AppDomain,使用AppDomain.Load然后调用FullName属性.例如:
byte[] asmData; // Contains the assembly data
AppDomain appDomain = AppDomain.CreateDomain("MyDomain");
Assembly assembly = appDomain.Load(asmData);
string name = assembly.FullName;
AppDomain.Unload(appDomain);
Run Code Online (Sandbox Code Playgroud)
根据MSDN,假设没有其他域已加载该程序集,则应在不加载到当前应用程序域的情况下卸载它.
如果您不想将其加载到任何应用程序域中,请将字节保存到文件并使用AssemblyName.GetAssemblyName方法.
| 归档时间: |
|
| 查看次数: |
945 次 |
| 最近记录: |