2010-12-17 11 views
1

私は自分の管理対象DLLに関する情報を取得するために社内ツールを使用しています。 DLLをロードするために、私はSystem.Reflection.Assembly.LoadFileを使用します。 DLLの中には例外があります:System.Reflection.Assembly.LoadFile failed(アドバイス)

"ClassName": "System.NullReferenceException"; "メッセージ": "オブジェクト参照がオブジェクトのインスタンスに設定されていません。

しかし、これらのDLLはうまく動作し、アプリケーション内でロード可能です。すべての依存関係は同じディレクトリにあります。どんなアドバイスですか?

ありがとうございます!

P.S.このような例外はメソッドSystem.Reflection.Assembly.LoadFromで発生します。

+3

例外スタックトレースを含めることはできますか? – Luca

+0

このWinformsはありますか? – SwDevMan81

答えて

2

LoadFileは、現在のAppDomainで実行するアセンブリをロードします。 (いくつかの)静的コンストラクタが実行され、カスタムクラスの属性が評価されます。そのような場合、コードの一部が実行される可能性があります。 NullReferenceExceptionはあなたのコードから来るかもしれません。例外StackTraceはおそらくソースを明らかにするでしょう。

編集:静的コンストラクタや評価属性を実行せずにアセンブリに関する情報を取得する場合は、Assembly.ReflectionOnlyLoad *メソッドを参照してください。

1

Mmmm ...これは意味があるかどうかわかりませんが、管理されていないDLLか、必要なファイル権限が不足していますか?

+1

違う例外が発生します。 – SLaks