【问题标题】:.NET Core 3.0 Identity issue.NET Core 3.0 身份问题
【发布时间】:2020-01-24 08:27:10
【问题描述】:

我正在尝试将我的项目更新到 .NET Core 3.0 和 .NET Standard 2.1(包括 .NET Core Identity)

我有 2 个项目。首先是我的 Web API:

<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 https://docs.microsoft.com/en-us/aspnet/core/migration/22-to-30?view=aspnetcore-3.0&tabs=visual-studio

第二个项目:

<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>
...

所以,如果我从我的第二个项目中删除 Microsoft.AspNetCore.Identity,我会看到错误:

找不到类型或命名空间名称“SignInManager&lt;&gt;”(您是否缺少 using 指令或程序集引用?)

如果我添加这一行:

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

我看到了这个错误:

错误 NETSDK1073 无法识别 FrameworkReference 'Microsoft.AspNetCore.App'

如何解决我的问题?

【问题讨论】:

  • 也许你应该使用TargetFramework而不是TargetFrameworknetcoreapp3.0

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


【解决方案1】:

请参阅this Github 问题,其中解释了许多更改。正如其中一个 cmets 所说。

正确。我们正在从大多数 Microsoft.AspNetCore.* 程序集中删除 netstandard2.0。见#3754

因此,为了在您的.csproj 中使用&lt;FrameworkReference Include="Microsoft.AspNetCore.App" /&gt;,您需要定位netcoreapp3.0 或更高版本。

【讨论】:

    【解决方案2】:

    我在将 Visual Studio Enterprise 2019 降级到 Professional 2019 后开始遇到此问题。

    .Net核心框架netcoreapp3.1

    我通过将 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 从 3.1.3 更新到 3.1.4 来修复它。

    【讨论】:

      猜你喜欢
      • 2020-03-09
      • 2020-02-15
      • 2020-02-24
      • 2020-05-30
      • 1970-01-01
      • 1970-01-01
      • 2021-04-16
      • 1970-01-01
      • 2020-03-27
      相关资源
      最近更新 更多