使用 NuGet 库中的包
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
借助 Azure Artifacts 上游源,开发人员能够使用公共注册表中的包,例如 nuget.org 和 npmjs.com。 本文将指导你完成设置项目和使用命令行从 NuGet 库有效使用 NuGet 包的过程。 本文将指导如何进行以下操作:
- 为源启用上游源
- 将 NuGet 库添加为上游源
- 连接到源
- 从 nuget.org 安装包
先决条件
Azure Artifacts 源。
下载 NuGet。
下载并安装 Azure Artifacts 凭据提供程序。
在源上启用上游源
如果尚未创建源,请按照以下步骤创建新的源,并确保选中上游源复选框以启用它们。 如果已有源,请转到 下一步 ,将 NuGet 库添加为上游源。
登录到 Azure DevOps 组织,然后转到项目。
选择“项目”,然后选择“创建源”。
对于 “名称”,请输入源的描述性名称。
对于 可见性,请选择一个选项来指示谁可以查看源中的包。
如果要包含来自公共源的包,请选中上游源下的复选框。
对于 范围,指定源的范围是项目还是组织。
完成操作后,选择“创建”。
登录到 Azure DevOps 服务器,然后转到项目。
选择“项目”,然后选择“创建源”。
对于 “名称”,请输入源的描述性名称。
对于 可见性,请选择一个选项来指示谁可以查看源中的包。
如果要包含来自公共源的包,请选中上游源下的复选框。
对于 范围,指定源的范围是项目还是组织。
完成操作后,选择“创建”。
完成操作后,选择“创建”。
登录到 Azure DevOps 服务器,然后转到项目。
选择“项目”,然后选择“新建源”。
对于 “名称”,请输入源的描述性名称。
对于 可见性,请选择一个选项来指示谁可以查看源中的包。
如果要包含来自公共源的包,请通过此源选项从公共源中选择“使用包”。
完成操作后,选择“创建”。
注意
默认情况下,新建的源的“生成服务”值设置为“源”和“上游读取者”(协作者)。
上游源添加 NuGet 库
如果在制作源时选中了上游源复选框,则 NuGet 库应会自动添加。 否则,请按照以下步骤手动添加它:
登录到 Azure DevOps 组织,并导航到你的项目。
选择“项目”,然后选择源。
选择齿轮图标按钮 以导航到 源设置。
选择上游源,然后选择“添加上游”以添加新的上游源。
选择 “公共源”,然后从下拉菜单中选择 “NuGet 库 ”。
完成后,选择“添加”,然后选择右上角的“保存一次”以保存更改。
登录到 Azure DevOps 服务器,然后导航到项目。
选择“项目”,然后选择源。
选择齿轮图标按钮 以导航到 源设置。
选择“ 上游源”,然后选择“ 添加上游”。
选择 “公共源”,然后从下拉菜单中选择 “NuGet 库 ”。
完成后,选择“ 保存 ”,然后在右上角再次选择“ 保存 ”以保存更改。
登录到 Azure DevOps 服务器,然后导航到项目。
选择“项目”,然后选择源。
选择齿轮图标按钮 以导航到 源设置。
选择 上游源,然后选择“ 添加上游源”。
选择 “公共源”,然后从下拉菜单中选择 “NuGet 库 ”。
完成后,选择“添加”。
连接到源
登录到 Azure DevOps 组织,并导航到你的项目。
选择“项目”,然后选择源。
选择“ 连接到源”,然后选择“ NuGet.exe”。
在 .csproj 或 .sln 文件所在的文件夹中添加 nuget.config 文件。 将提供的 XML 代码片段粘贴到文件中。 如果使用以下示例,请确保将占位符替换为方案的适当值。
组织范围的源:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<SOURCE_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="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
登录到 Azure DevOps 服务器,然后导航到项目。
选择“项目”,然后选择源。
选择“ 连接到源”,然后从左侧导航窗格中选择 NuGet.exe 。
按照“项目设置”部分中的说明连接到源。
登录到 Azure DevOps 服务器,然后导航到项目。
选择“项目”,然后选择源。
选择“ 连接到源”,然后从左侧导航窗格中选择 “NuGet ”。
按照提供的说明将包源 URL 添加到 nuget.config 文件。
从 NuGet 库安装包
现在,我们的项目配置为使用源进行身份验证,现在可以继续从 NuGet 库上游安装包。 在此示例中,我们将安装 Serilog 诊断日志记录库:
导航到 NuGet 库。
https://www.nuget.org/
搜索 Serilog 包,然后选择它以导航到详细信息页。
选择程序包管理器选项卡,然后复制命令。 在我们的示例中,命令如下:
NuGet\Install-Package Serilog -Version 3.1.2-dev-02097
在 Visual Studio 中打开项目,然后选择“工具>NuGet 程序包管理器>程序包管理器控制台”以打开控制台窗口。
将命令粘贴到程序包管理器控制台窗口中,然后按 Enter 安装包。
注意
若要从上游保存包,必须具有 源和上游读取者(协作者) 角色或更高版本。 有关更多详细信息,请参阅 “管理权限 ”。
查看保存的包
- 登录到 Azure DevOps 组织,并导航到你的项目。
- 登录到 Azure DevOps 服务器,然后导航到项目。
选择“ 项目”,然后从下拉菜单中选择源。
从下拉菜单中选择 NuGet 库源,筛选来自此上游的包。
在上一步中安装的 Serilog 包现已在我们的源中提供。 执行安装命令时,Azure Artifacts 会自动将副本保存到源。