BuildManager.GetReferencedAssemblies-Entsprechung für Nicht-Webanwendungen

Verglichen mitAppDomain.GetAssemblies(), BuildManager.GetReferencedAssemblies() (System.Web.Compilation.BuildManager) scheint eine zuverlässigere Methode zu sein, um die Assemblys abzurufen, auf die von einer ASP.NET-Anwendung zur Laufzeit verwiesen wirdAppDomain.GetAssemblies () bekommt nur "die Baugruppen, die habenbereits wurde in den Ausführungskontext dieser Anwendungsdomäne geladen ".

Das Durchlaufen aller Assemblys ist ein wichtiges Tool für die dynamische Registrierung von Typen beim Start der Anwendung in Ihrem DI-Container. Insbesondere beim Starten der Anwendung besteht die Möglichkeit, dass andere Assemblys noch nicht geladen werden (wo sie noch nicht benötigt werden) und der Kompositionsstamm der ist der erste, der sie braucht. Es ist daher sehr wichtig, eine zuverlässige Methode zum Abrufen der Assemblys zu haben, auf die sich die Anwendung bezieht.

ObwohlBuildManager.GetReferencedAssemblies() ist eine zuverlässige Methode für ASP.NET-Anwendungen. Ich frage mich:Welche Alternativen gibt es für andere Arten von Anwendungen?wie Desktopanwendungen, Windows-Dienste und selbst gehostete WCF-Dienste?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage