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 file
yok 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 file
eklenir.
<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 file
yok 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 file
eklenir.
<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 file
var 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 file
eklenir.
<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 file
var 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 file
eklenir.
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="5.0.4" />
<PackageReference>
öğesi proje dosyasına eklenir.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Örtük geri yükleme
, , dotnet publish
ve dotnet pack
gibi dotnet test
dotnet run
dotnet build
dotnet new
geri 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