管理 .NET 应用程序中的包依赖项

本文介绍如何通过编辑项目文件或使用 CLI 添加和删除包依赖项。

<PackageReference> 元素

项目 <PackageReference> 文件元素具有以下结构:

<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" />

Include 属性指定要添加到项目的包的 ID。 该 Version 属性指定要获取的版本。 根据 NuGet 版本规则指定版本

使用条件添加仅在特定目标中可用的依赖项,如以下示例所示:

<PackageReference Include="PACKAGE_ID" Version="PACKAGE_VERSION" Condition="'$(TargetFramework)' == 'netcoreapp2.1'" />

仅当针对该目标的构建发生时,上述示例中的依赖项才有效。 条件 $(TargetFramework) 中是在项目中设置的 MSBuild 属性。 对于最常见的 .NET 应用程序,无需执行此作。

添加和删除依赖项

可以通过编辑项目文件或通过 .NET CLI 命令来添加和删除依赖项。

编辑项目文件

若要添加依赖项,请在元素中添加项<PackageReference><ItemGroup>。 可以添加到现有 <ItemGroup>,也可以新建一个元素。

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    ...
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.2" />
  </ItemGroup>

</Project>

若要删除依赖项,请从项目文件中删除其 <PackageReference> 项。

使用命令行界面 (CLI)

若要添加依赖项,请运行 dotnet package add 命令,如以下示例所示。 (如果使用的是 .NET 9 或更高版本的 SDK 版本,请改用 dotnet add package 窗体。

dotnet package add Microsoft.EntityFrameworkCore

若要删除依赖项,请运行 dotnet package remove 命令,如以下示例所示。 (如果使用的是 .NET 9 或更高版本的 SDK 版本,请改用 dotnet remove package 窗体。

dotnet package remove Microsoft.EntityFrameworkCore

提示

  • 不要在引用包的 .targets.props 文件中包含还原操作的输入。 这些输入可以包括 PackageReference 项、 ExcludeAssets 属性、要使用的 NuGet 源或其他 NuGet 配置。 在 NuGet 还原完成后,才会使用包中的 .targets.props 文件。 还原所需的任何内容都需要位于项目本身的项目文件或 .targets 文件中,而不是包依赖项。

  • 如果要在控制台应用程序或类库中使用 ASP.NET API,请将 FrameworkReference 项添加到项目文件:

    <FrameworkReference Include="Microsoft.AspNetCore.App" />

    有关详细信息,请参阅 使用 ASP.NET Core 共享框架

另请参阅