Freigeben über


Verwenden von ClickOnce zum Bereitstellen von Anwendungen, die in mehreren Versionen von .NET Framework ausgeführt werden können

Sie können eine Anwendung bereitstellen, die auf mehrere Versionen von .NET Framework ausgerichtet ist, indem Sie die ClickOnce-Bereitstellungstechnologie verwenden. Für diese Aufgabe müssen Sie die Anwendungs- und Bereitstellungsmanifeste generieren und aktualisieren.

Hinweis

Bevor Sie die Anwendung auf mehrere Versionen von .NET Framework ändern, sollten Sie sicherstellen, dass Ihre Anwendung mit mehreren Versionen von .NET Framework ausgeführt wird. Die Version der Common Language Runtime unterscheidet sich zwischen .NET Framework 4 und .NET Framework 2.0, .NET Framework 3.0 und .NET Framework 3.5.

Für diesen Vorgang sind die folgenden Schritte erforderlich:

  1. Generieren Sie die Anwendungs- und Bereitstellungsmanifeste.

  2. Ändern Sie das Bereitstellungsmanifest, um die verschiedenen .NET Framework-Versionen aufzulisten.

  3. Ändern Sie die app.config Datei so, dass die kompatiblen .NET Framework-Laufzeitversionen aufgeführt werden.

  4. Ändern Sie das Anwendungsmanifest, um abhängige Assemblys als .NET Framework-Assemblys zu markieren.

  5. Signieren Sie das Anwendungsmanifest.

  6. Aktualisieren und signieren Sie das Bereitstellungsmanifest.

So generieren Sie die Anwendungs- und Bereitstellungsmanifeste

Hinweis

In ClickOnce für .NET Core 3.1 und .NET 5 oder höher legen Sie Bereitstellungseigenschaften mithilfe des Veröffentlichungstools anstelle des Veröffentlichungs-Assistenten und der Seite "Veröffentlichen" des Project-Designers fest. Weitere Informationen finden Sie unter Bereitstellen einer .NET-Windows-Anwendung mit ClickOnce und ClickOnce für .NET.

So ändern Sie das Bereitstellungsmanifest so, dass die mehreren .NET Framework-Versionen aufgeführt werden

  1. Öffnen Sie im Veröffentlichungsverzeichnis das Bereitstellungsmanifest mithilfe des XML-Editors in Visual Studio. Das Bereitstellungsmanifest hat die Dateinamenerweiterung .application .

  2. Ersetzen Sie den XML-Code zwischen den <compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2"> Und-Elementen </compatibleFrameworks> durch XML, in dem die unterstützten .NET Framework-Versionen für Ihre Anwendung aufgeführt sind.

    Die folgende Tabelle enthält einige der verfügbaren .NET Framework-Versionen und den entsprechenden XML-Code, den Sie dem Bereitstellungsmanifest hinzufügen können.

    .NET Framework-Version XML
    4 Kunde <framework targetVersion="4.0" profile="Client" supportedRuntime="4.0.30319" />
    4 Vollständig <framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.30319" />
    3.5 Klient <framework targetVersion="3.5" profile="Client" supportedRuntime="2.0.50727" />
    3.5 Vollständig <framework targetVersion="3.5" profile="Full" supportedRuntime="2.0.50727" />
    3.0 <framework targetVersion="3.0" supportedRuntime="2.0.50727" />

So ändern Sie die app.config Datei so, dass die kompatiblen .NET Framework-Laufzeitversionen aufgeführt werden

  1. Öffnen Sie im Projektmappen-Explorer die app.config-Datei mithilfe des XML-Editors in Visual Studio.

  2. Ersetzen Sie (oder fügen Sie hinzu) den XML-Code zwischen den <startup> Elementen </startup> durch XML, in dem die unterstützten .NET Framework-Ausführungsumgebungen für Ihre Anwendung aufgelistet sind.

    Die folgende Tabelle enthält einige der verfügbaren .NET Framework-Versionen und den entsprechenden XML-Code, den Sie dem Bereitstellungsmanifest hinzufügen können.

    .NET Framework-Laufzeitversion XML
    4 Kunde <supportedRuntime version="v4.0.30319" sku=". NETFramework,Version=v4.0,Profile=Client" />
    4 Vollständig <supportedRuntime version="v4.0.30319" sku=". NETFramework,Version=v4.0" />
    3.5 Vollständig <supportedRuntime version="v2.0.50727"/>
    3.5 Klient <supportedRuntime version="v2.0.50727" sku="Client"/>

So ändern Sie das Anwendungsmanifest so, dass abhängige Assemblys als .NET Framework-Assemblys gekennzeichnet werden

  1. Öffnen Sie im Veröffentlichungsverzeichnis das Anwendungsmanifest mithilfe des XML-Editors in Visual Studio. Das Bereitstellungsmanifest hat die Dateinamenerweiterung .manifest .

  2. Fügen Sie group="framework" der Abhängigkeits-XML für die Sentinelassemblys (System.Core, WindowsBase, Sentinel.v3.5Clientund System.Data.Entity) hinzu. Der XML-Code sollte dem folgenden Beispiel ähneln:

    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true" group="framework">
    
  3. Aktualisieren Sie die Versionsnummer des <assemblyIdentity> Elements für Microsoft.Windows.CommonLanguageRuntime auf die Versionsnummer für .NET Framework, die der niedrigste gemeinsame Nenner ist. Wenn die Anwendung beispielsweise auf .NET Framework 3.5 und .NET Framework 4 ausgerichtet ist, verwenden Sie die Versionsnummer 2.0.50727.0, und der XML-Code sollte wie folgt angezeigt werden:

    <dependency>
      <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
        <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50727.0" />
      </dependentAssembly>
    </dependency>
    

So aktualisieren und signieren Sie die Anwendungs- und Bereitstellungsmanifeste