2010-09-14 2 views
0

Есть ли простой способ идентифицировать сборки, созданные с помощью Reflection.Emit? При обработке всех сборок, загружаемых в домен приложения, Assembly экземпляры динамически сгенерированных сборок не ведут себя так же, как для стандартных сборок. Например, доступ к CodeBase свойства приводит к исключению:Идентификация сборок с отображением Reflection.Emit

string codeBase; 
try 
{ 
    codeBase = assembly.CodeBase; 
} 
catch(NotSupportedException) 
{ 
    // assemblies generated via Reflection.Emit throw an exception when CodeBase is accessed 
    codeBase = null; 
} 

Есть ли лучший способ распознать эту ситуацию и избежать try … catch блока?

ответ

0

Это должно работать:

if (assembly is System.Reflection.Emit.AssemblyBuilder) { 
    // It's dynamic 
    //... 
} 
0

Assembly.IsDynamic ответит на ваш вопрос? Возможно, это новичок в .Net 4.0.

+0

Вот и все. Мой код работает в среде .NET 3.5. –

 Смежные вопросы

  • Нет связанных вопросов^_^