Erstellen von Vorabversionen von Paketen

Wenn Sie ein aktualisiertes Paket mit einer neuen Versionsnummer freigeben, betrachtet NuGet diese als das „neueste stabile Release“, z.B. auf der Benutzeroberfläche des Paket-Managers innerhalb von Visual Studio (siehe Grafik):

Package Manager UI showing the latest stable release

Ein Release wird dann als „stabil“ bezeichnet, wenn es zuverlässig genug ist, um in der Produktion eingesetzt zu werden. Das neueste stabile Release wird außerdem als Paketupdate bzw. während der Paketwiederherstellung installiert. Dies unterliegt jedoch den Einschränkungen, die im Artikel zum Thema Installieren und Aktualisieren von Paketen aufgeführt sind.

Damit die Phasen des Softwareveröffentlichungsprozesses unterstützt werden können, lässt NuGet ab Version 1.6 die Verteilung von Paketvorabversionen zu, deren Versionsnummern ein Suffix des Schemas „semantische Versionierung“ enthalten, z.B. -alpha, -beta oder -rc. Weitere Informationen finden Sie im Artikel zum Thema Paketversionsverwaltung.

Solche Versionen können Sie über eine der folgenden Vorgehensweisen angeben:

  • Wenn in Ihrem Projekt PackageReference verwendet wird, schließen Sie das Suffix der semantischen Versionierung im PackageVersion-Element der .csproj-Datei ein:

    <PropertyGroup>
        <PackageVersion>1.0.1-alpha</PackageVersion>
    </PropertyGroup>
    
  • Wenn in Ihrem Projekt eine packages.config-Datei verwendet wird, schließen Sie das Suffix der semantischen Versionierung im version-Element der .nuspec-Datei ein:

    <version>1.0.1-alpha</version>
    

Wenn Sie eine stabile Version freigeben möchten, entfernen Sie einfach das Suffix. Dann hat das Paket Vorrang vor allen Vorabversionen. Weitere Informationen hierzu finden Sie ebenfalls im Artikel zum Thema Paketversionsverwaltung.

Installieren und Aktualisieren von Vorabversionen von Paketen

Beim Arbeiten mit Paketen berücksichtigt NuGet standardmäßig keine Vorabversionen. Das können Sie jedoch wie folgt ändern:

  • Benutzeroberfläche des Paket-Managers in Visual Studio: Wählen Sie auf der NuGet-Pakete verwalten-Benutzeroberfläche das Kontrollkästchen Vorabversion einbeziehen aus:

    The Include prerelease checkbox in Visual Studio

    Wenn Sie dieses Kontrollkästchen aktivieren oder deaktivieren, wird die Benutzeroberfläche des Paket-Managers sowie die Liste der verfügbaren Versionen aktualisiert, deren Installation möglich ist.

  • Paket-Manager-Konsole: Verwenden Sie den Parameter -IncludePrerelease zusammen mit den Befehlen Find-Package, Get-Package, Install-Package, Sync-Package und Update-Package. Lesen Sie hierzu die PowerShell-Referenz.

  • NuGet-Befehlszeilenschnittstelle: Verwenden Sie den Parameter -prerelease zusammen mit den Befehlen install, update, delete und mirror. Weitere Informationen finden Sie in der NuGet CLI reference (Referenz für die NuGet-CLI).

Semantische Versionsverwaltung

In der Konvention „Semantische Versionierung bzw. SemVer“ wird beschrieben, wie bei Versionsnummern Zeichenfolgen verwendet werden können, um die Bedeutung des zugrunde liegenden Codes auszudrücken. Erfahren Sie mehr über die Grundlagen der Paketversionsverwaltung.