と比較するとAppDomain.GetAssemblies()
、BuildManager.GetReferencedAssemblies()
(System.Web.Compilation.BuildManager)は、実行時にASP.NETアプリケーションによって参照されるアセンブリを取得するためのより信頼性の高い方法のようです。これは、AppDomain.GetAssemblies()が「既にロードされているアセンブリのみを取得するためです。このアプリケーションドメインの実行コンテキスト」。
すべてのアセンブリを反復処理することは、アプリケーションの起動時にDIコンテナにタイプを動的に登録するための重要なツールであり、特にアプリケーションの起動時に、他のアセンブリがまだロードされていない可能性があります(不要な場合)。コンポジションルートはそれらを必要とする最初のもの。したがって、アプリケーションの参照アセンブリを取得するための信頼できる方法を用意することが非常に重要です。
ASP.NETアプリケーションの信頼できる方法ですがBuildManager.GetReferencedAssemblies()
、疑問に思っています。デスクトップアプリケーション、Windowsサービス、セルフホストWCFサービスなど、他の種類のアプリケーションで利用できる代替手段は何でしょうか。