Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makale şunlar için geçerlidir: ✔️ .NET 6 SDK ve sonraki sürümler
İsim
dotnet package add - Proje dosyasına paket başvurusu ekler veya güncelleştirir.
Uyarı
.NET 9 SDK veya önceki bir sürüm kullanıyorsanız bunun yerine "önce fiil" formunu (dotnet add package) kullanın. "önce isim" formu .NET 10'da tanıtıldı. Daha fazla bilgi için bkz. Daha tutarlı komut sırası.
Özet
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
Açıklama
komutu, dotnet package add 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, Microsoft.EntityFrameworkCore dosyasına eklemek 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 package add Microsoft.EntityFrameworkCore --project ToDo.csproj
<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 package add Microsoft.EntityFrameworkCore --version 5.0.4 --project ToDo.csproj
<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 package add Microsoft.EntityFrameworkCore --project ToDo.csproj
<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 package add Microsoft.EntityFrameworkCore --version 5.0.4 --project ToDo.csproj
<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 restore, dotnet new, dotnet build, dotnet run, dotnet testve dotnet publishgibi geri yükleme gerektiren tüm komutlar tarafından örtük olarak çalıştırıldığından dotnet pack çalıştırmanız gerekmez. Örtük geri yüklemeyi devre dışı bırakmak için --no-restore seçeneğini kullanın.
NuGet akışlarını yönetme hakkında bilgi için
Tartışmalar
PROJECTProje dosyasını belirtir. Belirtilmezse, komut geçerli dizinde bir tane arar.
PACKAGE_NAMEEklenecek paket başvurusu.
Seçenekler
-f|--framework <FRAMEWORK>Yalnızca belirli bir çerçeveyi hedeflerken paket başvurusu ekler.
-
-?|-h|--helpkomutunun nasıl kullanılacağına ilişkin bir açıklama yazdırır.
-
--interactiveKomutun durmasına ve kullanıcı girişini veya eylemini beklemesine izin verir. Örneğin, kimlik doğrulamasını tamamlamak için.
-n|--no-restoreGeri 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
%userprofile%\.nuget\packagesLinux'tadır~/.nuget/packages. Daha fazla bilgi için bkz. NuGet'te genel paketleri, önbelleği ve geçici klasörleri yönetme.--prereleaseYayın öncesi paketlerin yüklenmesine izin verir.
-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 package add Microsoft.EntityFrameworkCoreProjeye paketin belirli bir sürümünü ekleyin:
dotnet package add Microsoft.Azure.DocumentDB.Core -v 1.0.0 --project ToDo.csprojBelirli bir NuGet kaynağını kullanarak paket ekleyin:
dotnet package add Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json