Identifizieren des Projektformats
NuGet kann für alle .NET-Projekte verwendet werden. Das Projektformat (SDK-Format oder Nicht-SDK-Format) bestimmt jedoch einige der Tools und Methoden, die zum Verwenden und Erstellen von NuGet-Paketen erforderlich sind. Projekte im SDK-Format verwenden das SDK-Attribut. Es ist wichtig, den Projekttyp zu identifizieren, da die Methoden und Tools, mit denen Sie NuGet-Pakete verwenden und erstellen, vom Projektformat abhängen. Für Projekte im Nicht-SDK-Format hängen die Methoden und Tools ebenfalls davon ab, ob das Projekt zum PackageReference
-Format migriert wurde.
Ob es sich um ein Projekt im SDK-Format handelt, hängt von der Methode ab, die zum Erstellen des Projekts verwendet wurde. In der folgenden Tabelle werden das Standardprojektformat und das zugehörige CLI-Tool für das Projekt angegeben, wenn Sie es mit Visual Studio 2017 oder einer neueren Version erstellen.
Projekt | Standard-projekt-format | CLI-Tool | Hinweise |
---|---|---|---|
.NET Standard | SDK-Format | dotnet-SDK | Projekte, die vor Visual Studio 2017 erstellt wurden, weisen nicht das SDK-Format auf. Verwenden Sie die nuget.exe -CLI. |
.NET Core | SDK-Format | dotnet-SDK | Projekte, die vor Visual Studio 2017 erstellt wurden, weisen nicht das SDK-Format auf. Verwenden Sie die nuget.exe -CLI. |
.NET Framework | Nicht-SDK-Format | nuget.exe-CLI | .NET Framework Projekte, die mit anderen Methoden erstellt werden, sind möglicherweise Projekte im SDK-Format. Verwenden Sie für diese stattdessen die dotnet-SDK. |
Migriertes .NET-Projekt | Nicht-SDK-Format | Verwenden Sie zum Erstellen von Paketen msbuild -t:pack. | Zum Erstellen von Paketen wird msbuild -t:pack empfohlen. Verwenden Sie andernfalls die dotnet-SDK. Migrierte Projekte sind keine Projekte im SDK-Format. |
Überprüfen des Projektformats
Wenn Sie sich nicht sicher sind, ob ein Projekt das SDK-Format aufweist, suchen Sie in der Projektdatei (für C# ist dies die CSPROJ-Datei) das SDK-Attribut im <Project>
-Element. Wenn es vorhanden ist, handelt es sich um ein Projekt im SDK-Format.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Authors>authorname</Authors>
<PackageId>mypackageid</PackageId>
<Company>mycompanyname</Company>
</PropertyGroup>
</Project>
Überprüfen des Projektformats in Visual Studio
Wenn Sie in Visual Studio arbeiten, können Sie mit einer der folgenden Methoden das Projektformat schnell überprüfen:
Klicken Sie mit der rechten Maustaste im Projektmappen-Explorer, und wählen Sie "myprojectname.csproj" bearbeiten aus.
Diese Option ist nur ab Visual Studio 2017 für Projekte verfügbar, die das SDK-Attribut verwenden. Verwenden Sie andernfalls die andere Methode.
Für ein Projekt im SDK-Format wird in der Projektdatei das SDK-Attribut angezeigt.
Wählen Sie im Menü Projekt die Option Projekt entladen aus (oder klicken Sie mit der rechten Maustaste auf das Projekt, und wählen Sie Projekt entladen aus).
In der Projektdatei dieses Projekts ist das SDK-Attribut nicht enthalten. Es handelt sich nicht um ein Projekt im SDK-Format.
Klicken Sie dann mit der rechten Maustaste auf das entladene Projekt, und wählen Sie "myprojectname.csproj" bearbeiten aus.