dotnet add package

Bu makale şunlar için geçerlidir: ✔️ .NET Core 3.1 SDK ve sonraki sürümler

Veri Akışı Adı

dotnet add package - Proje dosyasına paket başvurusu ekler veya güncelleştirir.

Özet

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

Açıklama

komutu, dotnet add package proje dosyasına paket başvurusu eklemek veya güncelleştirmek için kullanışlı bir seçenek sağlar. komutunu çalıştırdığınızda, paketin projedeki çerçevelerle uyumlu olduğundan emin olmak için bir uyumluluk denetimi yapılır. Denetim başarılı olursa ve pakete proje dosyasında başvurulmazsa, proje dosyasına bir <PackageReference> öğe eklenir. Denetim geçerse ve pakete proje dosyasında zaten başvurulursa, <PackageReference> öğesi en son uyumlu sürüme güncelleştirilir. Proje dosyası güncelleştirildikten sonra dotnet restore çalıştırılır.

Örneğin, ToDo.csproj dosyasına eklemek Microsoft.EntityFrameworkCore aşağıdaki örneğe benzer bir çıkış oluşturur:

  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).

ToDo.csproj dosyası artık başvuruda bulunılan paket için bir <PackageReference> öğe içeriyor.

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

Proje Merkezi Paket Yönetimi'ne (CPM) <PackageVersion> eklenirse içindeki Directory.Packages.props file öğesi eklenir/güncelleştirilir ve <PackageReference> öğesi proje dosyasına eklenir.

Aşağıdaki senaryolar şu anda desteklenmektedir. Bu örneklerde en son sürümünün Microsoft.EntityFrameworkCore 6.0.4 olduğu varsayılır. CPM ile ilgili ek senaryolar bu tasarım belirtiminde belgelenmiştir.

Senaryo 1: <PackageReference> proje dosyasında yok, <PackageVersion> öğesi içinde Directory.Packages.props fileyok ve sürüm bağımsız değişkeni komut satırından geçirilmez.

Yürütülen CLI komutu: dotnet add ToDo.csproj package Microsoft.EntityFrameworkCore

<PackageVersion> öğesi öğesine Directory.Packages.props fileeklenir.

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

<PackageReference> öğesi proje dosyasına eklenir.

<PackageReference Include="Microsoft.EntityFrameworkCore" />

Senaryo 2: <PackageReference> proje dosyasında yok, <PackageVersion> öğesi içinde Directory.Packages.props fileyok ve sürüm bağımsız değişkeni komut satırından geçirilir.

Yürütülen CLI komutu: dotnet add ToDo.csproj package Microsoft.EntityFrameworkCore --version 5.0.4

<PackageVersion> öğesi öğesine Directory.Packages.props fileeklenir.

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

<PackageReference> öğesi proje dosyasına eklenir.

<PackageReference Include="Microsoft.EntityFrameworkCore" />

Senaryo 3: <PackageReference> proje dosyasında yok, <PackageVersion> öğesi içinde Directory.Packages.props filevar ve sürüm bağımsız değişkeni komut satırından geçirilmez.

Yürütülen CLI komutu: dotnet add ToDo.csproj package Microsoft.EntityFrameworkCore

<PackageVersion> öğesi öğesine Directory.Packages.props fileeklenir.

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

<PackageReference> öğesi proje dosyasına eklenir.

<PackageReference Include="Microsoft.EntityFrameworkCore" />

Senaryo 4: <PackageReference> proje dosyasında yok, <PackageVersion> öğesi içinde Directory.Packages.props filevar ve sürüm bağımsız değişkeni komut satırından geçirilir.

Yürütülen CLI komutu: dotnet add ToDo.csproj package Microsoft.EntityFrameworkCore --version 5.0.4

<PackageVersion> öğesi öğesine Directory.Packages.props fileeklenir.

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

<PackageReference> öğesi proje dosyasına eklenir.

<PackageReference Include="Microsoft.EntityFrameworkCore" />

Örtük geri yükleme

, , dotnet publishve dotnet packgibi dotnet testdotnet rundotnet builddotnet newgeri yükleme gerektiren tüm komutlar tarafından örtük olarak çalıştırıldığından, komutunu çalıştırmanız dotnet restore gerekmez. Örtük geri yüklemeyi devre dışı bırakmak için seçeneğini kullanın --no-restore .

Komutudotnet restore, Azure DevOps Services'teki sürekli tümleştirme derlemeleri veya geri yüklemenin ne zaman gerçekleştiğini açıkça denetlemesi gereken derleme sistemleri gibi açıkça geri yüklemenin anlamlı olduğu bazı senaryolarda hala yararlıdır.

NuGet akışlarını yönetme hakkında bilgi için belgelere dotnet restore bakın.

Bağımsız değişkenler

  • PROJECT

    Proje dosyasını belirtir. Belirtilmezse, komut geçerli dizinde bir tane arar.

  • PACKAGE_NAME

    Eklenecek paket başvurusu.

Seçenekler

  • -f|--framework <FRAMEWORK>

    Yalnızca belirli bir çerçeveyi hedeflerken paket başvurusu ekler.

  • -?|-h|--help

    komutunun nasıl kullanılacağına ilişkin bir açıklama yazdırır.

  • --interactive

    Komutun durmasına ve kullanıcı girişini veya eylemini beklemesine izin verir. Örneğin, kimlik doğrulamasını tamamlamak için.

  • -n|--no-restore

    Geri yükleme önizlemesi ve uyumluluk denetimi gerçekleştirmeden paket başvurusu ekler.

  • --package-directory <PACKAGE_DIRECTORY>

    Paketlerin geri yükleneceği dizin. Varsayılan paket geri yükleme konumu Windows ve macOS ile ~/.nuget/packages Linux'tadır%userprofile%\.nuget\packages. Daha fazla bilgi için bkz . NuGet'te genel paketleri, önbelleği ve geçici klasörleri yönetme.

  • --prerelease

    Yayın öncesi paketlerin yüklenmesine izin verir. .NET Core 5 SDK'dan itibaren kullanılabilir

  • -s|--source <SOURCE>

    Geri yükleme işlemi sırasında kullanılacak NuGet paket kaynağının URI'sini.

  • -v|--version <VERSION>

    Paketin sürümü. Bkz. NuGet paket sürümü oluşturma.

Örnekler

  • Projeye NuGet paketi ekleme Microsoft.EntityFrameworkCore :

    dotnet add package Microsoft.EntityFrameworkCore
    
  • Projeye paketin belirli bir sürümünü ekleyin:

    dotnet add ToDo.csproj package Microsoft.Azure.DocumentDB.Core -v 1.0.0
    
  • Belirli bir NuGet kaynağını kullanarak paket ekleyin:

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

Ayrıca bkz.