从命令行发布和还原 NuGet 包(dotnet)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
使用 Azure Artifacts,可以发布 NuGet 包并将其还原到源以及从源中还原,使你可以根据源的可见性设置与他人共享它们。 本指南指导你配置项目以使用 dotnet 命令行接口发布或还原包。
先决条件
Azure Artifacts 源。 如果你没有源,请创建一个新源。
下载并安装 Azure Artifacts 凭据提供程序。
连接到源
选择“ 项目”,然后从下拉菜单中选择源。
选择连接源,然后从左侧的“NuGet”部分选择 dotnet。
在 csproj 或 sln 文件所在的同一文件夹中创建 nuget.config 文件。 复制以下 XML 代码片段并将其粘贴到新文件中,将占位符替换为相关信息:
组织作用域的源:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
项目作用域的源:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
注意
Azure DevOps Server 2019 不支持 dotnet。
发布包
运行以下命令,将包发布到源。 将占位符替换为相应的信息:
dotnet nuget push --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key <ANY_STRING> <PACKAGE_PATH>
示例: dotnet nuget push --source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --api-key AZ bin/MyPackage.5.0.2.nupkg
注意
仅 api-key
用作占位符。
从外部源发布包
使用打包读取和写入范围创建个人访问令牌(PAT)。
将 <PERSONAL_ACCESS_TOKEN> 占位符替换为个人访问令牌,然后运行以下命令,将包源添加到 nuget.config 文件中。 这会将 PAT 添加到 nuget.config。请确保安全地存储此文件,而不将其检查到源代码管理中。
dotnet nuget add source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --name <SOURCE_NAME> --username <USER_NAME> --password <PERSONAL_ACCESS_TOKEN> --configfile <PATH_TO_NUGET_CONFIG_FILE>
发布包:
dotnet nuget push --source <SOURCE_NAME> --api-key <ANY_STRING> <PACKAGE_PATH>
示例: dotnet nuget add source https://pkgs.dev.azure.com/MyOrg/MyProject/_packaging/MyFeed/nuget/v3/index.json --name MySource --username MyUserName --password MyPersonalAccessToken --configfile ./nuget.configdotnet nuget push --source MySource --api-key AZ nupkgs/mypackage.1.1.0.nupkg
注意
如果组织使用的是防火墙或代理服务器,请确保允许 Azure Artifacts 域 URL 和 IP 地址。
还原包
运行以下命令以还原包。 该 --interactive
标志用于提示用户输入凭据:
dotnet restore --interactive