從 ASP.NET Core 2.2 升級到 3.0
csproj我有一個具有以下配置的 ASP.NET Core 項目:<PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" /> </ItemGroup>我想將項目升級到
<TargetFramework>netcoreapp3.0</TargetFramework>. 但是,這樣做後,我收到以下警告:C:\Program Files\dotnet\sdk\3.0.100\Sdks\Microsoft.NET.Sdk\targets\ Microsoft.NET.Sdk.DefaultItems.targets(149,5): 警告 NETSDK1080: A PackageReference to Microsoft.AspNetCore.App面向 .NET Core 3.0 或更高版本時不需要。如果使用 Microsoft.NET.Sdk.Web,則會自動引用共享框架。否則,應將 PackageReference 替換為 FrameworkReference。
解決這個問題的具體方法是什麼?我試圖刪除對 的引用
Microsoft.AspNetCore.App,但這不起作用。該程式碼不引用共享框架。另外,“否則,應該將 PackageReference 替換為 FrameworkReference”是什麼意思?
如果您正在建構一個 Web 項目,請確保您的項目文件的第一行是:
<Project Sdk="Microsoft.NET.Sdk.Web">在這種情況下,它會自動包含在 framework:
Microsoft.AspNetCore.App中。您不必再次包含它。<https://docs.microsoft.com/en-us/aspnet/core/migration/22-to-30?view=aspnetcore-3.0&tabs=visual-studio#framework-reference>
如果您正在建構 Razor 庫而不是 Web 項目,請確保項目文件的第一行是:
<Project Sdk="Microsoft.NET.Sdk.Razor">在這種情況下,您的庫可能依賴於
ASP.NET Core. 你必須添加這個:<ItemGroup> <FrameworkReference Include="Microsoft.AspNetCore.App" /> </ItemGroup>不要忘記添加:
<AddRazorSupportForMvc>true</AddRazorSupportForMvc>到
<PropertyGroup>如果您不建構 razor 庫或 Web 項目,通常不需要
Microsoft.AspNetCore.App. 如果您確實可以確定自己在做什麼並且確實需要它,請考慮添加:<ItemGroup> <FrameworkReference Include="Microsoft.AspNetCore.App" /> </ItemGroup>