Informationen zu parallelen Assemblys

Eine Windows querseitige Assembly wird durch Manifeste beschrieben. Eine nebenseitige Assembly enthält eine Sammlung von Ressourcen – eine Gruppe von DLLs, Windows Klassen, COM-Servern, Typbibliotheken oder Schnittstellen – die immer für Anwendungen bereitgestellt werden. Diese werden im Assemblymanifest beschrieben.

In der Regel handelt es sich bei einer querseitigen Assembly um eine einzelne DLL. Die Microsoft COMCTL32-Assembly ist beispielsweise eine einzelne DLL mit einem Manifest, während die Microsoft Visual C++ Entwicklungsbibliothekenassembly mehrere Dateien enthält. Manifeste enthalten Metadaten , die side-by-side assemblys und side-by-side assembly abhängigkeiten beschreiben.

Nebenassemblys werden vom Betriebssystem als grundlegende Einheiten der Benennung, Bindung, Versionsverwaltung, Bereitstellung und Konfiguration verwendet. Jede side-by-Side-Assembly verfügt über eine eindeutige Identität. Eine der Attribute der Assemblyidentität ist ihre Version. Weitere Informationen finden Sie unter Assemblyversionen.

Ab Windows XP können mehrere Versionen von querseitigen Assemblys gleichzeitig von Anwendungen verwendet werden, die gleichzeitig ausgeführt werden. Manifeste und die Assemblyversionsnummer werden vom Loader verwendet, um die richtige Bindung von Assemblyversionen an Anwendungen zu bestimmen. Side-by-Side-Assemblys und Manifeste arbeiten mit Anwendungen und dem side-by-Side-Manager wie in der folgenden Abbildung dargestellt.

representation of typical side-by-side assembly

Im vorherigen Beispiel befinden sich sowohl Comctl32.DLL Version 6.0 als auch Comctl32.DLL Version 5.0 im querseitigen Assemblycache und für Anwendungen verfügbar. Wenn eine Anwendung zum Laden der DLL aufruft, bestimmt der querseitige Manager, ob die Anwendung eine Versionsabhängigkeit hat, die in einem Manifest beschrieben ist. Wenn kein relevantes Manifest vorhanden ist, lädt das System die Standardversion der Assembly. Für Windows XP ist Version 5.0 von Comctl32.DLL der Systemstandard. Wenn der querseitige Manager eine Abhängigkeit von Version 6.0 findet, die in einem Manifest angegeben ist, wird diese Version geladen, um mit der Anwendung auszuführen.

Mehrere Schlüsselsystemassemblys werden von Microsoft als querseitige Assemblys zur Verfügung gestellt. Weitere Informationen finden Sie unter Unterstützte microsoft Side-by-Side Assemblys. Anwendungsentwickler können auch eigene side-by-side Assemblys erstellen. Weitere Informationen finden Sie unter Richtlinien zum Erstellen von querseitigen Assemblys. In vielen Fällen ist es möglich, vorhandene Anwendungen zu aktualisieren, um nebenseitige Assemblys zu verwenden, ohne den Anwendungscode zu ändern.

Entwickler werden aufgefordert, parallele Assemblys zum Erstellen isolierter Anwendungen zu verwenden und vorhandene Anwendungen aus folgenden Gründen in isolierte Anwendungen zu aktualisieren:

  • Side-by-Side-Assemblys verringern die Möglichkeit von DLL-Versionskonflikten.
  • Mit der querseitigen Assemblyfreigabe können mehrere Versionen von COM- oder Windows Assemblys gleichzeitig ausgeführt werden.
  • Anwendungen und Administratoren können die Assemblykonfiguration auf globaler oder anwendungsspezifischer Basis nach der Bereitstellung aktualisieren. Beispielsweise kann eine Anwendung aktualisiert werden, um eine querseitige Assembly zu verwenden, die ein Update enthält, ohne die Anwendung erneut zu installieren.