Megosztás a következőn keresztül:


dotnet-csomag hozzáadása

Ez a cikk a következő verziókra vonatkozik: ✔️ .NET 6 SDK és újabb verziók

Név

dotnet package add – Csomaghivatkozás hozzáadása vagy frissítése egy projektfájlban.

Megjegyzés

Ha .NET 9 SDK-t vagy korábbi verziót használ, használja helyette az "első ige" űrlapot (dotnet add package). A "főnév első" űrlap a .NET 10-ben lett bevezetve. További információ: Konzisztensebb parancsrend.

Áttekintés

dotnet package add <PACKAGE_NAME>
    [-f|--framework <FRAMEWORK>] [--interactive] [--project <PROJECT>]
    [-n|--no-restore] [--package-directory <PACKAGE_DIRECTORY>]
    [--prerelease] [-s|--source <SOURCE>] [-v|--version <VERSION>]

dotnet package add -h|--help

Leírás

A dotnet package add parancs kényelmes lehetőséget biztosít egy csomaghivatkozás hozzáadására vagy frissítésére egy projektfájlban. A parancs futtatásakor kompatibilitás-ellenőrzéssel ellenőrzi, hogy a csomag kompatibilis-e a projekt keretrendszereivel. Ha az ellenőrzés sikeres, és a csomag nem szerepel a projektfájlban, a program hozzáad egy <PackageReference> elemet a projektfájlhoz. Ha az ellenőrzés sikeres, és a csomag már szerepel a projektfájlban, az <PackageReference> elem a legújabb kompatibilis verzióra frissül. A projektfájl frissítése után a rendszer futtatja a dotnet-visszaállítást .

A Microsoft.EntityFrameworkCore való hozzáadás például az alábbi példához hasonló kimenetet eredményez:

  Determining projects to restore...
  Writing C:\Users\username\AppData\Local\Temp\tmp24A8.tmp
info : Adding PackageReference for package 'Microsoft.EntityFrameworkCore' into project 'C:\ToDo\ToDo.csproj'.
info :   CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/index.json
info :   GET https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/516521bf-6417-457e-9a9c-0a4bdfde03e7/nuget/v3/registrations2-semver2/microsoft.entityframeworkcore/index.json
info :   CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/page/0.0.1-alpha/3.1.3.json
info :   CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/page/3.1.4/7.0.0-preview.2.22153.1.json
info :   CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/page/7.0.0-preview.3.22175.1/7.0.0-preview.3.22175.1.json
info :   NotFound https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/516521bf-6417-457e-9a9c-0a4bdfde03e7/nuget/v3/registrations2-semver2/microsoft.entityframeworkcore/index.json 257ms
info : Restoring packages for C:\ToDo\ToDo.csproj...
info : Package 'Microsoft.EntityFrameworkCore' is compatible with all the specified frameworks in project 'C:\ToDo\ToDo.csproj'.
info : PackageReference for package 'Microsoft.EntityFrameworkCore' version '6.0.4' added to file 'C:\ToDo\ToDo.csproj'.
info : Writing assets file to disk. Path: C:\ToDo\obj\project.assets.json
log  : Restored C:\ToDo\ToDo.csproj (in 171 ms).

A ToDo.csproj fájl most már tartalmaz egy <PackageReference> elemet a hivatkozott csomaghoz.

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />

Ha a projekt központi csomagkezelésre (CPM) van előkészítve, a <PackageVersion> program hozzáadja/frissíti az Directory.Packages.props file elemet, és hozzáadja az <PackageReference> elemet a projektfájlhoz.

A következő forgatókönyvek jelenleg támogatottak. Ezek a példák feltételezik, hogy a legújabb verzió Microsoft.EntityFrameworkCore a 6.0.4. A CPM-hez kapcsolódó további forgatókönyveket ebben a tervezési specifikációban dokumentáljuk.

1. forgatókönyv: <PackageReference> nem létezik a projektfájlban, <PackageVersion> az elem nem létezik a Directory.Packages.props file, és a verzió argumentum nem lesz átadva a parancssorból.

A parancssori felület parancsa, amely végrehajtva van: dotnet package add Microsoft.EntityFrameworkCore --project ToDo.csproj

Az <PackageVersion> elem hozzá lesz adva a Directory.Packages.props file.

<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />

Az <PackageReference> elem hozzá lesz adva a projektfájlhoz.

<PackageReference Include="Microsoft.EntityFrameworkCore" />

2. forgatókönyv: <PackageReference> nem létezik a projektfájlban, <PackageVersion> az elem nem létezik a Directory.Packages.props file, és a verzió argumentum a parancssorból lesz átadva.

A parancssori felület parancsa, amely végrehajtva van: dotnet package add Microsoft.EntityFrameworkCore --version 5.0.4 --project ToDo.csproj

Az <PackageVersion> elem hozzá lesz adva a Directory.Packages.props file.

<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="5.0.4" />

Az <PackageReference> elem hozzá lesz adva a projektfájlhoz.

<PackageReference Include="Microsoft.EntityFrameworkCore" />

3. forgatókönyv: <PackageReference> nem létezik a projektfájlban, <PackageVersion> az elem a Directory.Packages.props file, és a verzió argumentum nem kerül át a parancssorból.

A parancssori felület parancsa, amely végrehajtva van: dotnet package add Microsoft.EntityFrameworkCore --project ToDo.csproj

Az <PackageVersion> elem hozzá lesz adva a Directory.Packages.props file.

<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />

Az <PackageReference> elem hozzá lesz adva a projektfájlhoz.

<PackageReference Include="Microsoft.EntityFrameworkCore" />

4. forgatókönyv: <PackageReference> nem létezik a projektfájlban, <PackageVersion> az elem a Directory.Packages.props file, és a verzió argumentumot a parancssorból adja át.

A parancssori felület parancsa, amely végrehajtva van: dotnet package add Microsoft.EntityFrameworkCore --version 5.0.4 --project ToDo.csproj

Az <PackageVersion> elem hozzá lesz adva a Directory.Packages.props file.

<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="5.0.4" />

Az <PackageReference> elem hozzá lesz adva a projektfájlhoz.

<PackageReference Include="Microsoft.EntityFrameworkCore" />

Implicit visszaállítás

Nem kell futtatnia dotnet restore, mert az összes olyan parancs implicit módon fut, amely visszaállítást igényel, például dotnet new, dotnet build, dotnet run, dotnet test, dotnet publishés dotnet pack. Az implicit visszaállítás letiltásához használja a --no-restore lehetőséget.

A dotnet restore parancs továbbra is hasznos bizonyos esetekben, amikor a explicit visszaállításnak van értelme, például folyamatos integrációs buildeket az Azure DevOps Services vagy olyan buildrendszerekben, amelyeknek explicit módon kell szabályozni a visszaállítást.

További információ a NuGet-hírcsatornák kezeléséről: dotnet restore dokumentáció.

Érvek

  • PROJECT

    Megadja a projektfájlt. Ha nincs megadva, a parancs az aktuális könyvtárban keres egyet.

  • PACKAGE_NAME

    A hozzáadni kívánt csomaghivatkozás.

Beállítások

  • -f|--framework <FRAMEWORK>

    Csak egy adott keretrendszer megcélzása esetén ad hozzá csomaghivatkozást.

  • -?|-h|--help

    A parancs használatának leírását nyomtatja ki.

  • --interactive

    Lehetővé teszi, hogy a parancs leálljon, és várja meg a felhasználói bemenetet vagy műveletet. Például a hitelesítés befejezéséhez.

  • -n|--no-restore

    Csomaghivatkozás hozzáadása visszaállítási előzetes verzió és kompatibilitás-ellenőrzés nélkül.

  • --package-directory <PACKAGE_DIRECTORY>

    A csomagok visszaállításának könyvtára. Az alapértelmezett csomag-visszaállítási hely Windows rendszeren, macOS és %userprofile%\.nuget\packages Linux rendszeren található~/.nuget/packages. További információ: A NuGet globális csomagjainak, gyorsítótárának és ideiglenes mappáinak kezelése.

  • --prerelease

    Lehetővé teszi a prerelease-csomagok telepítését.

  • -s|--source <SOURCE>

    A Visszaállítási művelet során használni kívánt NuGet-csomagforrás URI-ja.

  • -v|--version <VERSION>

    A csomag verziója. Lásd a NuGet-csomag verziószámozását.

Példák

  • NuGet-csomag hozzáadása Microsoft.EntityFrameworkCore projekthez:

    dotnet package add Microsoft.EntityFrameworkCore
    
  • Csomag adott verziójának hozzáadása egy projekthez:

    dotnet package add Microsoft.Azure.DocumentDB.Core -v 1.0.0 --project ToDo.csproj
    
  • Csomag hozzáadása egy adott NuGet-forrás használatával:

    dotnet package add Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json
    

Lásd még