dotnet add package
本文適用于: ✔️.NET Core 3.1 SDK 和更新版本
名稱
dotnet add package
- 在專案檔中新增或更新套件參考。
概要
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
描述
dotnet add package
命令提供方便的選項,可在專案檔中新增或更新套件參考。 當您執行 命令時,會有相容性檢查,以確保套件與專案中的架構相容。 如果檢查通過,而且專案檔中未參考封裝, <PackageReference>
專案就會新增至專案檔。 如果檢查通過,而且專案檔中已經參考封裝,專案 <PackageReference>
就會更新為最新的相容版本。 更新專案檔之後,即會執行 dotnet restore 。
例如,將 Microsoft.EntityFrameworkCore
新增至 ToDo.csproj 會產生類似下例的輸出:
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 檔案現在會包含參考套件的 <PackageReference>
元素。
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
隱含還原
您不需要執行 dotnet restore
,因為所有需要還原的命令都會隱含地執行,例如 dotnet new
、 dotnet build
、、 dotnet run
、 dotnet test
dotnet publish
、 和 dotnet pack
。 若要停用隱含還原,請使用 --no-restore
選項。
dotnet restore
在明確還原的某些案例中,此命令仍然很有用,例如在Azure DevOps Services中持續整合組建,或在需要明確控制還原何時發生的組建系統中。
如需如何管理 NuGet 摘要的詳細資訊,請參閱dotnet restore
檔。
引數
PROJECT
指定專案檔。 如果未指定,命令會在目前的目錄中搜尋一個專案檔。
PACKAGE_NAME
要新增的套件參考。
選項
-f|--framework <FRAMEWORK>
只有在以特定 架構為目標時,才會新增套件參考。
-?|-h|--help
列印出如何使用 命令的描述。
--interactive
可讓命令停止,並等候使用者輸入或進行動作。 例如完成驗證。
-n|--no-restore
新增套件參考,而不執行還原預覽和相容性檢查。
--package-directory <PACKAGE_DIRECTORY>
還原套件的目錄。 Windows 上的預設套件還原位置為
%userprofile%\.nuget\packages
,macOS 和 Linux 上則為~/.nuget/packages
。 如需詳細資訊,請參閱在 NuGet 中管理全域套件、快取和暫存資料夾。--prerelease
允許安裝發行前版本套件。 自 .NET Core 5 SDK 起提供
-s|--source <SOURCE>
還原作業期間要使用的 NuGet 套件來源 URI。
-v|--version <VERSION>
套件的版本。 請參閱 NuGet 套件版本控制 \(部分機器翻譯\)。
範例
將
Microsoft.EntityFrameworkCore
NuGet 套件新增至專案:dotnet add package Microsoft.EntityFrameworkCore
將特定版本的套件新增至專案:
dotnet add ToDo.csproj package Microsoft.Azure.DocumentDB.Core -v 1.0.0
使用特定 NuGet 來源新增套件:
dotnet add package Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json