Asp.net core 从ASP.NET Core 2.2升级到3.0

Asp.net core 从ASP.NET Core 2.2升级到3.0,asp.net-core,upgrade,asp.net-core-3.0,.net-core-3.0,Asp.net Core,Upgrade,Asp.net Core 3.0,.net Core 3.0,我有一个ASP.NET核心项目,具有以下csproj配置: netcoreapp2.2 我想将项目升级到netcoreapp3.0。然而,在这样做时,我得到以下警告: C:\Program Files\dotnet\sdk\3.0.100\Sdks\Microsoft.NET.sdk\targets\Microsoft.NET.sdk.DefaultItems.targets(149,5):警告NetDK1080:当目标为.NET Core 3.0或更高版本时,不需要包引用Microsoft

我有一个ASP.NET核心项目,具有以下
csproj
配置:


netcoreapp2.2
我想将项目升级到
netcoreapp3.0
。然而,在这样做时,我得到以下警告:

C:\Program Files\dotnet\sdk\3.0.100\Sdks\Microsoft.NET.sdk\targets\Microsoft.NET.sdk.DefaultItems.targets(149,5):警告NetDK1080:当目标为.NET Core 3.0或更高版本时,不需要包引用Microsoft.AspNetCore.App。如果使用Microsoft.NET.Sdk.Web,将自动引用共享框架。否则,应将PackageReference替换为FrameworkReference

解决这个问题的办法究竟是什么?我试图删除对Microsoft.AspNetCore.App的引用,但没有成功。代码未引用共享框架


另外,“否则,PackageReference应替换为FrameworkReference”是什么意思?

如果您正在构建web项目,请确保项目文件的第一行是:


在本例中,它自动包含在以下框架中:
Microsoft.AspNetCore.App
。您不必再次包含它

如果您正在构建razor库而不是web项目,请确保项目文件的第一行是:


在这种情况下,您的库可能依赖于ASP.NET核心中的某个类。您必须添加以下内容:


不要忘记添加:

true

如果您不是在构建razor库或web项目,通常不需要
Microsoft.AspNetCore.App
。如果你真的能确定你在做什么,真的需要它,请考虑添加:


使用以下命令更新项目文件,并为我修复它:


netcoreapp3.0
我的秘密

迁移说明可在ASP.NET核心文档站点上获得:。他们解释说根本不需要这个包引用,使用“Microsoft.NET.Sdk.Web”Sdk的包会自动添加它。以
Razor
为目标的项目需要将其添加为
FrameworkReference
我的项目既不是web也不是Razor项目。。。这是一个简单的类库。所以,最后一个建议奏效了。谢谢我只需在“依赖项”>“软件包”下的Microsoft.AspNetCore.App软件包上单击鼠标右键,然后选择“删除”