我正在尝试将项目更新到.NET Core 3.0和.NET Standard 2.1(包括.NET Core身份)
我有2个项目。首先是我的Web API:
ul
在此项目中,与Identity相关的代码可以正常工作。
正如我在这里看到的,我需要删除软件包ul.collapsable-subs
https://docs.microsoft.com/en-us/aspnet/core/migration/22-to-30?view=aspnetcore-3.0&tabs=visual-studio
第二个项目:
onclick
因此,如果我从第二个项目中删除<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.0.0" />
</ItemGroup>
...
,则会看到错误:
找不到类型或名称空间名称'
Microsoft.AspNetCore.Identity
'(您是否缺少using指令或程序集引用?)
如果我添加以下行:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<!--<FrameworkReference Include="Microsoft.AspNetCore.App" />-->
<!--<PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.2.0" />-->
</ItemGroup>
...
我看到此错误:
错误NETSDK1073无法识别FrameworkReference'Microsoft.AspNetCore.App'
如何解决我的问题?
答案 0 :(得分:3)
请参见this Github问题,其中介绍了许多更改。正如其中一项评论所述。
正确。我们将从大多数Microsoft.AspNetCore。*程序集中删除netstandard2.0。参见#3754
因此,要在<FrameworkReference Include="Microsoft.AspNetCore.App" />
中使用.csproj
,您需要定位netcoreapp3.0
或更高版本。
答案 1 :(得分:0)
将Visual Studio Enterprise 2019降级为Professional 2019之后,我开始遇到这个问题。
.Net核心框架netcoreapp3.1
我通过将Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation从3.1.3更新到3.1.4来解决此问题。