0

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この状況を認識してブロックを回避するより良い方法はありますか?

4

2 に答える 2

1

Assembly.IsDynamicはあなたの質問に答えませんか? .Net 4.0 で新しくなったのかもしれません。

于 2010-09-14T20:23:02.993 に答える
0

これはうまくいくはずです:

if (assembly is System.Reflection.Emit.AssemblyBuilder) {
    // It's dynamic
    //...
}
于 2010-09-14T20:27:22.023 に答える