Informationen zu parallelen Assemblys

Eine Windows-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 anwendungen immer zusammen zur Verfügung gestellt werden. Diese werden im Assemblymanifest beschrieben.

In der Regel ist eine nebenseitige Assembly eine einzelne DLL. Beispielsweise ist die Microsoft COMCTL32-Assembly eine einzelne DLL mit einem Manifest, während die Assembly Microsoft Visual C++-Laufzeitbibliotheken des Entwicklungssystems mehrere Dateien enthält. Manifeste enthalten Metadaten, die nebenseitige Assemblys und Abhängigkeiten von Assemblys beschreiben.

Side-by-side-Assemblys werden vom Betriebssystem als grundlegende Einheiten für Benennung, Bindung, Versionierung, Bereitstellung und Konfiguration verwendet. Jede nebeneinander seitige Assembly verfügt über eine eindeutige Identität. Eines der Attribute der Assemblyidentität ist seine Version. Weitere Informationen finden Sie unter Assemblyversionen.

Ab Windows XP können mehrere Versionen von gleichzeitig ausgeführten Anwendungen verwendet werden. Manifeste und die Assemblyversionsnummer werden vom Ladeprogramm verwendet, um die richtige Bindung von Assemblyversionen an Anwendungen zu bestimmen. Neben assemblys und manifests funktionieren mit Anwendungen und dem side-by-side-Manager, wie in der folgenden Abbildung dargestellt.

Darstellung einer typischen side-by-side-Assembly

Im vorherigen Beispiel befinden sich sowohl Comctl32.DLL Version 6.0 als auch Comctl32.DLL Version 5.0 im gleichzeitigen Assemblycache und stehen Anwendungen zur Verfügung. Wenn eine Anwendung aufruft, um die DLL zu laden, bestimmt der nebenseitige Manager, ob die Anwendung über eine in einem Manifest beschriebene Versionsabhängigkeit verfügt. Wenn kein relevantes Manifest verfügbar ist, lädt das System die Standardversion der Assembly. Für Windows XP ist Version 5.0 von Comctl32.DLL die Standardeinstellung des Systems. Wenn der nebenseitige Manager eine Abhängigkeit von Version 6.0 findet, die in einem Manifest angegeben ist, wird diese Version für die Ausführung mit der Anwendung geladen.

Mehrere wichtige Systemassemblys werden von Microsoft als side-by-side-Assemblys zur Verfügung gestellt. Weitere Informationen finden Sie unter Supported Microsoft Side-by-side Assemblies. Anwendungsentwickler können auch eigene, nebeneinander seitige Assemblys erstellen. Weitere Informationen finden Sie unter Guidelines for Creating Side-by-side Assemblies. In vielen Fällen ist es möglich, vorhandene Anwendungen so zu aktualisieren, dass sie side-by-side-Assemblys verwenden, ohne den Anwendungscode ändern zu müssen.

Entwicklern wird empfohlen, aus den folgenden Gründen mithilfe von nebenseitigen Assemblys isolierte Anwendungen zu erstellen und vorhandene Anwendungen in isolierte Anwendungen zu aktualisieren:

  • Durch side-by-side-Assemblys wird die Wahrscheinlichkeit von DLL-Versionskonflikten verringert.
  • Durch die gleichzeitige Assemblyfreigabe können mehrere Versionen von COM oder Windows Assemblys gleichzeitig ausgeführt werden.
  • Anwendungen und Administratoren können die Assemblykonfiguration nach der Bereitstellung entweder global oder anwendungsspezifische Konfiguration aktualisieren. Eine Anwendung kann z. B. aktualisiert werden, um eine nebenseitige Assembly zu verwenden, die ein Update enthält, ohne die Anwendung neu installieren zu müssen.