有没有一种简单的方法来识别 Reflection.Emit 生成的程序集?在处理加载到应用程序域中的所有程序集时Assembly
,动态生成的程序集实例的行为与标准程序集的行为不同。例如,访问该CodeBase
属性会导致异常:
string codeBase;
try
{
codeBase = assembly.CodeBase;
}
catch(NotSupportedException)
{
// assemblies generated via Reflection.Emit throw an exception when CodeBase is accessed
codeBase = null;
}
有没有更好的方法来识别这种情况并避免try … catch
阻塞?