Verwalten von Paketabhängigkeiten in .NET-Anwendungen
In diesem Artikel wird erläutert, wie Paketabhängigkeiten durch Bearbeitung der Projektdatei oder mithilfe der CLI hinzugefügt oder entfernt werden.
Das Element <PackageReference>
Das Projektdateielement <PackageReference>
weist die folgende Struktur auf:
<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" />
Das Attribut Include
gibt die ID des Pakets an, das zum Projekt hinzugefügt werden soll. Das Version
-Attribut gibt die abzurufende Version an. Versionen werden gemäß der NuGet-Versionsregeln angegeben.
Verwenden Sie wie im folgenden Beispiel gezeigt Bedingungen, um eine Abhängigkeit hinzuzufügen, die nur in einem bestimmten Ziel verfügbar ist:
<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" Condition="'$(TargetFramework)' == 'netcoreapp2.1'" />
Die Abhängigkeit im obigen Beispiel ist nur dann gültig, wenn der Build für das angegebene Ziel erstellt wird. $(TargetFramework)
in der Bedingung ist eine MSBuild-Eigenschaft, die im Projekt festgelegt wird. Für die gängigsten .NET-Anwendungen ist dies nicht erforderlich.
Hinzufügen und Entfernen von Abhängigkeiten
Sie können Abhängigkeiten hinzufügen und entfernen, indem Sie Die Projektdatei oder .NET CLI-Befehle bearbeiten.
Bearbeiten der Projektdatei
Fügen Sie ein <PackageReference>
-Element in ein <ItemGroup>
-Element ein, um eine Abhängigkeit hinzuzufügen. Sie können zu einem vorhandenen <ItemGroup>
-Element hinzufügen oder ein neues erstellen.
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
...
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.2" />
</ItemGroup>
</Project>
Entfernen Sie das jeweilige <PackageReference>
-Element aus der Projektdatei, um eine Abhängigkeit zu entfernen.
Verwenden der Befehlszeilenschnittstelle
Führen Sie den Befehl dotnet add package wie im folgenden Beispiel gezeigt aus, um eine Abhängigkeit hinzuzufügen:
dotnet add package Microsoft.EntityFrameworkCore
Führen Sie den Befehl dotnet remove package wie im folgenden Beispiel gezeigt aus, um eine Abhängigkeit zu entfernen:
dotnet remove package Microsoft.EntityFrameworkCore
Tipps
Schließen Sie keine Eingaben für den Wiederherstellungsvorgang in die .targets oder .props Datei eines referenzierten Pakets ein. Diese Eingaben können
PackageReference
-Elemente,ExcludeAssets
-Attribute, die zu verwendenden NuGet-Feeds oder andere NuGet-Konfigurationen umfassen. Die .targets and .props Dateien aus Paketen werden erst verwendet, nachdem die NuGet-Wiederherstellung abgeschlossen ist. Alles, was für die Wiederherstellung erforderlich ist, muss sich in der Projektdatei oder .targets Datei des Projekts selbst befinden, nicht in einer Paketabhängigkeit.Wenn Sie ASP.NET APIs in einer Konsolenanwendung oder Klassenbibliothek verwenden möchten, fügen Sie Ihrer Projektdatei ein FrameworkReference-Element hinzu:
<FrameworkReference Include="Microsoft.AspNetCore.App" />
Weitere Informationen finden Sie unter Verwenden des ASP.NET Core Shared Frameworks.