dotnet add package
Ez a cikk a következőre vonatkozik: ✔️ .NET Core 3.1 SDK és újabb verziók
Név
dotnet add package
– Csomaghivatkozás hozzáadása vagy frissítése egy projektfájlban.
Szinopszis
dotnet add [<PROJECT>] package <PACKAGE_NAME>
[-f|--framework <FRAMEWORK>] [--interactive]
[-n|--no-restore] [--package-directory <PACKAGE_DIRECTORY>]
[--prerelease] [-s|--source <SOURCE>] [-v|--version <VERSION>]
dotnet add package -h|--help
Leírás
A dotnet add package
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 ToDo.csproj-hoz való hozzáadás Microsoft.EntityFrameworkCore
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 add ToDo.csproj package Microsoft.EntityFrameworkCore
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 add ToDo.csproj package Microsoft.EntityFrameworkCore --version 5.0.4
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 add ToDo.csproj package Microsoft.EntityFrameworkCore
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 add ToDo.csproj package Microsoft.EntityFrameworkCore --version 5.0.4
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 implicit módon fut minden olyan parancs, 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 buildek az Azure DevOps Servicesben vagy olyan buildrendszerekben, amelyeknek explicit módon kell szabályozni a visszaállítást.
A NuGet-hírcsatornák kezelésével kapcsolatos információkért tekintse meg a dokumentációtdotnet restore
.
Argumentumok
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
~/.nuget/packages
Linux rendszeren található%userprofile%\.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. A .NET Core 5 SDK óta érhető el
-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 add package Microsoft.EntityFrameworkCore
Csomag adott verziójának hozzáadása egy projekthez:
dotnet add ToDo.csproj package Microsoft.Azure.DocumentDB.Core -v 1.0.0
Csomag hozzáadása egy adott NuGet-forrás használatával:
dotnet add package Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json