.NET Core 3.0身份问题

时间:2019-09-24 08:51:11

标签: c# asp.net-core-identity .net-core-3.0

我正在尝试将项目更新到.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'

如何解决我的问题?

2 个答案:

答案 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来解决此问题。