Freigeben über


Bereitstellen mehrerer Versionen einer Anwendung oder Komponente

Aktualisiert: November 2007

Sie können Assemblys für die parallele Ausführung folgendermaßen bereitstellen:

  • Private Bereitstellung.

    Sie können eine Assembly im Anwendungsverzeichnis oder in einem Unterverzeichnis des Anwendungsverzeichnisses bereitstellen. Die Common Language Runtime ermittelt die Assembly durch das Auflösen von Bindungen. Weitere Informationen über das Auflösen von Bindungen finden Sie unter So sucht Common Language Runtime nach Assemblys.

    Privat bereitgestellte Assemblys stellen eine bequeme Möglichkeit dar, eine Anwendung für die parallele Ausführung weiterzugeben, da diese Assemblys andere Assemblys auf demselben Computer nicht beeinflussen. Sie können sowohl Assemblys mit starken Namen als auch Assemblys ohne starke Namen privat bereitstellen. Assemblys mit starken Namen müssen nicht im globalen Assemblycache bereitgestellt werden. Sie können im Anwendungsverzeichnis bereitgestellt werden. Geben Sie die Assembly privat an das Anwendungsverzeichnis weiter, wenn sie nicht von mehreren Anwendungen gemeinsam verwendet werden soll.

    Ein weiterer Vorteil der privaten Bereitstellung ist die Möglichkeit, für die Bereitstellung der Anwendung XCOPY zu verwenden.

  • Bereitstellung an den globalen Assemblycache.

    Ein im globalen Assemblycache installierte Assembly ist für alle Anwendungen auf dem Computer sichtbar. Diese Art der Bereitstellung ist empfehlenswert, wenn eine Assembly von mehreren Anwendungen gemeinsam verwendet werden soll. Beachten Sie, dass nur Assemblys mit starkem Namen im globalen Assemblycache bereitgestellt werden können.

    Sowohl Windows Installer als auch das Global Assembly Cache-Tool (Gacutil.exe) können Assemblys im globalen Assemblycache installieren. Das Global Assembly Cache-Tool sollte beim Entwickeln und Testen verwendet werden, während Windows Installer für die eigentliche Anwendungsbereitstellung vorzuziehen ist. Windows Installer verfolgt Verweise auf Assemblys, die im globalen Assemblycache installiert sind, sodass gemeinsam verwendete Assemblys nicht deinstalliert werden, während eine Anwendung auf dem Computer sie noch immer benötigt. Weitere Informationen über das Installieren von parallelen Anwendungen finden Sie unter Verwenden von Windows Installer zum Installieren von Anwendungen und Komponenten für die parallele Ausführung.

  • Bereitstellung mithilfe des <codeBase>-Elements.

    Das <codeBase>-Element kann in die Anwendungskonfigurationsdatei aufgenommen werden, um so die Common Language Runtime beim Ermitteln von Assembly zu unterstützen. Die Common Language Runtime verwendet in diesem Fall anstelle der sonst üblichen Standardregeln zum Auffinden von Assemblys den im <codeBase>-Element angegebenen Speicherort. Das <codeBase>-Element kann sowohl für Assemblys mit starken Namen als auch für Assemblys ohne starke Namen verwendet werden.

    Bei Assemblys ohne starke Namen muss der Inhalt des <codeBase>-Elements relativ zum Anwendungsverzeichnis angegeben werden. Mit dieser Anforderung wird sichergestellt, dass bei einer parallelen Ausführung, bei der die Common Language Runtime zwei Assemblys mit demselben Namen ermittelt, kein Namenskonflikt auftritt.

    Bei Assemblys mit starkem Namen können <codeBase>-Elemente die Common Language Runtime zu jedem beliebigen Speicherort leiten. Die <codeBase>-Elemente stellen ein Verfahren bereit, mit dem Assemblys mit starken Namen von mehreren Anwendungen ohne den globalen Assemblycache gemeinsam verwendet werden können. Diese Methode der Bereitstellung sollte aber mit Umsicht verwendet werden, da die Ausführung einer Anwendung nach einem Versionswechsel durch die Eingabe eines falschen <codeBase>-Elements leicht unterbrochen werden kann.

Eine vollständige Erörterung der Bereitstellung finden Sie unter Bereitstellung von Anwendungen.

Siehe auch

Konzepte

Verwenden von Windows Installer zum Installieren von Anwendungen und Komponenten für die parallele Ausführung

Richtlinien für die Erstellung von Anwendungen und Komponenten für die parallele Ausführung

Weitere Ressourcen

Bereitstellen von .NET Framework-Anwendungen

Erstellen mehrerer Versionen einer Anwendung oder Komponente