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.

Siehe auch