使用 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 会自动将副本保存到源。