3

重複の可能性:
DLLはCLRによってどのようにロードされますか?

.NETでは、実行時にオンデマンドでロードされる参照DLLが参照されますか?または、それらはすべて最初にロードされますか?Visual Studioを接続してプロジェクトを実行すると、最初に参照されたすべてのDLLのシンボルが読み込まれていることに気付いたので質問します。

これは、VSを接続してデバッグで実行しているためだけですか?

4

1 に答える 1

1

VSを接続せずに実行しているときに、Procmon(プロセスモニター)を使用して自分自身を確認できます。頭から離れて、JITコンパイラが最初に型に出会ったときにオンデマンドでロードされることを思い出します。実際、私は混合ソリューション(マネージアセンブリとアンマネージアセンブリ)を使用しており、アンマネージdllが見つからない場合、そのアセンブリの型が最初に必要になったときにエラーが表示されます。VSで実行しているときに、そのためのコールスタックも取得しました。しかし、私はVSの外をチェックしたことはありません。背後にある理論については、この質問には長い説明があります。

于 2012-10-24T23:03:18.117 に答える