Freigeben über


Laden von Abhängigkeiten in .NET

Jede .NET-Anwendung beinhaltet Abhängigkeiten. Selbst die einfache hello world-App weist Abhängigkeiten von Teilen der .NET-Klassenbibliotheken auf.

Das Verständnis der Ladelogik der Standardassembly in .NET kann bei der Problembehandlung gängiger Bereitstellungsprobleme helfen.

In einigen Anwendungen werden Abhängigkeiten dynamisch zur Laufzeit festgelegt. In diesen Fällen ist es wichtig zu verstehen, wie verwaltete Assemblys und nicht verwaltete Abhängigkeiten geladen werden.

AssemblyLoadContext

Die AssemblyLoadContext-API ist für den Entwurf des .NET-Ladevorgangs von zentraler Bedeutung. Der Artikel Grundlegendes zu AssemblyLoadContext enthält eine konzeptionelle Übersicht über den Entwurf.

Laden von Details

Details zum Ladealgorithmus werden in mehreren Artikeln kurz behandelt:

Erstellen einer App mit Plug-Ins

Im Tutorial Erstellen einer .NET-Anwendung mit Plug-Ins wird beschrieben, wie ein benutzerdefinierter AssemblyLoadContext erstellt wird. Er verwendet einen AssemblyDependencyResolver, um die Abhängigkeiten des Plug-Ins aufzulösen. Das Tutorial isoliert die Plug-In-Abhängigkeiten ordnungsgemäß von der Hostanwendung.

Entladbarkeit von Assemblys

Der Artikel Verwenden und Debuggen der Entladbarkeit von Assemblys in .NET enthält ein ausführliches Tutorial. Darin wird gezeigt, wie Sie eine .NET-Anwendung laden, ausführen und dann entladen. Der Artikel enthält auch Tipps zum Debuggen.

Sammeln ausführlicher Informationen zum Laden von Assemblys

Im Artikel Sammeln ausführlicher Informationen zum Laden von Assemblys wird beschrieben, wie ausführliche Informationen zum Laden verwalteter Assemblys in der Runtime erfasst werden. Mit dem dotnet-trace-Tool werden Assemblyladerereignisse in einer Ablaufverfolgung eines laufenden Prozesses erfasst.