NETSDK1080:针对 Microsoft.AspNetCore.App 的 PackageReference 不是必需的

NETSDK1080 警告你注意你的项目文件中 Microsoft.AspNetCore.AppPackageReference 元素不是必需的。 完整的错误消息类似于以下示例:

警告 NETSDK1080:当面向 .NET Core 3.0 或更高版本时,针对 Microsoft.AspNetCore.App 的 PackageReference 不是必需的。 如果使用的是 Microsoft.NET.Sdk.Web,则会自动引用共享框架。 否则,应将 PackageReference 替换为 FrameworkReference。

通常,从在项目文件中需要 PackageReference 条目的更低版本将项目升级到 .NET Core 3.0 或更高版本后,会出现此错误。

ASP.NET Core 项目文件

例如,原始项目文件可能如下例所示:

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

  <PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App"/>
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
  </ItemGroup>

</Project>

更新到 .NET Core 3.1 后,同一项目的项目文件应如下例所示:

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

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

</Project>

若要消除此警告,请进行这些更改,尤其是删除 PackageReference 元素。 有关详细信息,请查看删除过时的包引用

类库项目

在使用 ASP.NET Core API 的类库项目中,将 PackageReference 替换为 FrameworkReference,如下例中所示:

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

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

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

</Project>

有关详细信息,请查看在类库中使用 ASP.NET Core API