Verwalten von Abhängigkeiten in .NET Anwendungen

In diesem Artikel wird erläutert, wie Paket-, Projekt- und Assemblyabhängigkeiten hinzugefügt und entfernt werden.

Hinzufügen und Entfernen von Paketabhängigkeiten

Sie können Abhängigkeiten hinzufügen und entfernen, indem Sie die Projektdatei oder .NET CLI-Befehle ändern.

Verwenden Sie die CLI

Um eine Abhängigkeit hinzuzufügen, führen Sie den dotnet package Befehl für Ihre SDK-Version aus:

dotnet package add Microsoft.EntityFrameworkCore

Führen Sie den dotnet package Befehl für Ihre SDK-Version aus, um eine Abhängigkeit zu entfernen:

dotnet package remove Microsoft.EntityFrameworkCore

Bearbeiten der Projektdatei

Um eine Abhängigkeit hinzuzufügen, fügen Sie ein <PackageReference> Element innerhalb eines <ItemGroup> Elements hinzu. Sie können zu einer vorhandenen <ItemGroup> hinzufügen oder eine neue erstellen.

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    ...
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.2" />
  </ItemGroup>

</Project>

Das Include Attribut gibt die ID des Pakets an, das dem Projekt hinzugefügt werden soll. Das Version Attribut gibt die abzurufende Version an. Versionen werden gemäß NuGet-Versionsregeln angegeben.

Verwenden Sie Bedingungen, um eine Abhängigkeit hinzuzufügen, die nur in einem bestimmten Ziel verfügbar ist, wie im folgenden Beispiel gezeigt:

<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" Condition="'$(TargetFramework)' == 'netcoreapp2.1'" />

Die Abhängigkeit im vorherigen Beispiel ist nur gültig, wenn der Build für dieses angegebene Ziel erfolgt. $(TargetFramework) in der Bedingung ist eine MSBuild-Eigenschaft, die im Projekt festgelegt wird. Für die meisten gängigen .NET-Anwendungen müssen Sie dies nicht tun.

Um eine Abhängigkeit zu entfernen, entfernen Sie das <PackageReference> Element aus der Projektdatei.

Weitere Informationen zum PackageReference Element finden Sie in der MSBuild-Referenz für .NET SDK-Projekte.

Hinzufügen und Entfernen von Projektverweisen

Verwenden Sie einen Projekt-zu-Projekt-Verweis, wenn Ihr Projekt von einem anderen Projekt abhängt. Um Projektverweise hinzuzufügen und zu entfernen, bearbeiten Sie entweder die Projektdatei, oder verwenden Sie die CLI.

Verwenden Sie die CLI

Um einen Projektverweis hinzuzufügen, führen Sie den dotnet reference Befehl für Ihre SDK-Version aus.

dotnet reference add ../MyLibrary/MyLibrary.csproj

Um einen Projektverweis zu entfernen, führen Sie den folgenden Befehl für Ihre SDK-Version aus:

dotnet reference remove ../MyLibrary/MyLibrary.csproj

Bearbeiten der Projektdatei

Das <ProjectReference> Projektdateielement identifiziert den Pfad zum referenzierten Projekt. Um einen Projektverweis hinzuzufügen, fügen Sie ein <ProjectReference> Element innerhalb eines <ItemGroup> Elements hinzu. Sie können zu einer vorhandenen <ItemGroup> hinzufügen oder eine neue erstellen.

<ItemGroup>
  <ProjectReference Include="../MyLibrary/MyLibrary.csproj" />
</ItemGroup>

Um einen Projektverweis zu entfernen, entfernen Sie das <ProjectReference> Element aus der Projektdatei.

Weitere Informationen zum ProjectReference Element finden Sie in den Allgemeinen MSBuild-Projektelementen.

Assemblyverweise hinzufügen und entfernen

Sie können Assemblyverweise über die Projektdatei hinzufügen und entfernen. Die .NET CLI stellt keine Befehle zum Hinzufügen oder Entfernen von Assemblyverweisen bereit.

Wenn Sie auf eine .NET Assembly verweisen möchten, die nicht Teil eines Projekts oder Pakets ist, fügen Sie der Projektdatei ein <Reference> Element hinzu. Verwenden Sie das <HintPath> Element, um den relativen oder absoluten Pfad zur Assembly anzugeben:

<ItemGroup>
  <Reference Include="MyAssembly">
    <HintPath>lib/MyAssembly.dll</HintPath>
  </Reference>
</ItemGroup>

Um einen Assemblyverweis zu entfernen, entfernen Sie dessen <Reference> Element aus der Projektdatei.

Weitere Informationen zum Reference Element finden Sie in den Allgemeinen MSBuild-Projektelementen.

Tipps

  • Schließen Sie keine Eingaben für den Wiederherstellungsvorgang in der .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 ZIELdatei des Projekts 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 framework.

Siehe auch