1

B.dllAsp.Net MVC プロジェクトにプロジェクト参照 (to ) がありますが、これは静的には使用されません。起動時に、読み込まれたアセンブリを調べて、それらの型を動的に IoC コンテナーに登録します。

MVC プロジェクトを再構築して F5 キーを押すとB.dllAppDomain.CurrentDomain.GetAssemblies().

次に、Stop と F5 をもう一度押します。今回B.dllは、読み込まれたアセンブリにはありません。ただし、呼び出すAppDomain.CurrentDomain.Load("B")と正しくロードされます。

プロジェクトを再構築すると、サイクルが繰り返されます。

質問は次のとおりです。

  1. フォルダーからのdllはbin、起動時にIISによってロードされるはずだと思いますが、そうですか?
  2. 最初と 2 番目のデバッグ セッションで Visual Studio の動作が異なるのはなぜですか? そして最も重要なのは、起動時にすべてのライブラリを強制的にロードする方法は?
4

1 に答える 1

2
  1. はい。最初に、コンパイルが発生するとき。
  2. これらのライブラリは、コンパイル後にオンデマンドでロードされるためです。

これは、AppDomain 用にデプロイされたすべてのアセンブリをプリロードする方法に役立ちます

于 2013-09-17T07:47:54.803 に答える