Zarządzanie zależnościami w aplikacjach .NET

W tym artykule wyjaśniono, jak dodawać i usuwać zależności pakietu, projektu i zestawu.

Dodawanie i usuwanie zależności pakietów

Zależności można dodawać i usuwać, edytując plik projektu lub za pomocą poleceń interfejsu wiersza polecenia platformy .NET .

Użyj interfejsu wiersza polecenia

Aby dodać zależność, uruchom dotnet package polecenie dla wersji zestawu SDK:

dotnet package add Microsoft.EntityFrameworkCore

Aby usunąć zależność, uruchom dotnet package polecenie dla wersji zestawu SDK:

dotnet package remove Microsoft.EntityFrameworkCore

Edytowanie pliku projektu

Aby dodać zależność, dodaj <PackageReference> element wewnątrz <ItemGroup> elementu. Możesz dodać do już istniejącego <ItemGroup> lub utworzyć nowy.

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

  <PropertyGroup>
    ...
  </PropertyGroup>

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

</Project>

Atrybut Include określa identyfikator pakietu, który ma zostać dodany do projektu. Atrybut Version określa wersję do pobrania. Wersje są określane zgodnie z regułami wersji nuGet.

Użyj warunków, aby dodać zależność dostępną tylko w określonym obiekcie docelowym, jak pokazano w poniższym przykładzie:

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

Zależność w poprzednim przykładzie będzie prawidłowa tylko wtedy, gdy kompilacja ma miejsce dla danego obiektu docelowego. Element $(TargetFramework) w warunku to właściwość MSBuild, która jest ustawiana w projekcie. W przypadku najpopularniejszych aplikacji platformy .NET nie trzeba tego robić.

Aby usunąć zależność, usuń jego <PackageReference> element z pliku projektu.

Aby uzyskać więcej informacji o elemencie PackageReference, zobacz dokumentację referencyjną programu MSBuild dla projektów pakietu .NET SDK.

Dodawanie i usuwanie odwołań do projektu

Użyj odwołania między projektami, gdy projekt zależy od innego projektu. Aby dodać i usunąć odwołania do projektu, edytuj plik projektu lub użyj interfejsu wiersza polecenia.

Użyj interfejsu wiersza polecenia

Aby dodać odwołanie do projektu, uruchom polecenie dotnet reference odpowiednie dla używanej wersji zestawu SDK.

dotnet reference add ../MyLibrary/MyLibrary.csproj

Aby usunąć odwołanie do projektu, uruchom następujące polecenie dla wersji zestawu SDK:

dotnet reference remove ../MyLibrary/MyLibrary.csproj

Edytowanie pliku projektu

Element <ProjectReference> pliku projektu identyfikuje ścieżkę do przywołynego projektu. Aby dodać odwołanie do projektu, dodaj <ProjectReference> element wewnątrz <ItemGroup> elementu. Możesz dodać do już istniejącego <ItemGroup> lub utworzyć nowy.

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

Aby usunąć odwołanie do projektu, usuń <ProjectReference> element z pliku projektu.

Aby uzyskać więcej informacji o elemencie ProjectReference , zobacz Typowe elementy projektu MSBuild.

Dodawanie i usuwanie odwołań do zestawów

Odwołania do zestawów można dodawać i usuwać za pomocą pliku projektu. Interfejs wiersza polecenia .NET nie udostępnia poleceń do dodawania ani usuwania odwołań do zestawu.

Aby odwołać się do zestawu .NET, który nie jest częścią projektu lub pakietu, dodaj <Reference> element do pliku projektu. Użyj elementu <HintPath>, aby określić względną lub bezwzględną ścieżkę do zestawu:

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

Aby usunąć odwołanie do zestawu, usuń jego <Reference> element z pliku projektu.

Aby uzyskać więcej informacji o elemencie Reference , zobacz Typowe elementy projektu MSBuild.

Wskazówki

  • Nie dołączaj danych wejściowych do operacji przywracania w pliku targets lub .props przywołytowanego pakietu. Te dane wejściowe mogą obejmować PackageReference elementy, ExcludeAssets atrybuty, źródła danych NuGet do użycia lub inną konfigurację nuGet. Pliki .targets i .props z pakietów nie są używane aż do zakończenia przywracania NuGet. Wszystko, co jest potrzebne do przywrócenia, musi znajdować się w pliku projektu lub pliku targets samego projektu, a nie jako zależność pakietu.

  • Jeśli chcesz użyć interfejsów API ASP.NET w aplikacji konsolowej lub bibliotece klas, dodaj element FrameworkReference do pliku projektu:

    <FrameworkReference Include="Microsoft.AspNetCore.App" />

    Aby uzyskać więcej informacji, zobacz Use the ASP.NET Core shared framework (Używanie platformy udostępnionej ASP.NET Core).

Zobacz też