.NET Core 3.0 身份问题
.NET Core 3.0 Identity issue
我正在尝试将我的项目更新到 .NET Core 3.0 和 .NET Standard 2.1(包括 .NET Core Identity)
我有 2 个项目。首先是我的网站 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>
...
并且在这个项目中与 Identity 相关的代码工作正常。
正如我在这里看到的,我需要删除包 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
,我会看到错误:
The type or namespace name 'SignInManager<>
' could not be found (are you missing a using directive or an assembly reference?)
如果我添加这一行:
<FrameworkReference Include="Microsoft.AspNetCore.App" />
我看到这个错误:
Error NETSDK1073 The FrameworkReference 'Microsoft.AspNetCore.App' was not recognized
我该如何解决我的问题?
请参阅 this Github 问题,其中解释了很多更改。正如其中一条评论所述。
Correct. We are removing the netstandard2.0 from most Microsoft.AspNetCore.* assemblies. See #3754
因此,为了在您的 .csproj
中使用 <FrameworkReference Include="Microsoft.AspNetCore.App" />
,您需要将目标设为 netcoreapp3.0
或更高。
我在将 visual studio 企业版 2019 降级为专业版 2019 后开始遇到这个问题。
.Net核心框架netcoreapp3.1
我通过将 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 从 3.1.3 更新到 3.1.4 来修复它。
我正在尝试将我的项目更新到 .NET Core 3.0 和 .NET Standard 2.1(包括 .NET Core Identity)
我有 2 个项目。首先是我的网站 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>
...
并且在这个项目中与 Identity 相关的代码工作正常。
正如我在这里看到的,我需要删除包 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
,我会看到错误:
The type or namespace name '
SignInManager<>
' could not be found (are you missing a using directive or an assembly reference?)
如果我添加这一行:
<FrameworkReference Include="Microsoft.AspNetCore.App" />
我看到这个错误:
Error NETSDK1073 The FrameworkReference 'Microsoft.AspNetCore.App' was not recognized
我该如何解决我的问题?
请参阅 this Github 问题,其中解释了很多更改。正如其中一条评论所述。
Correct. We are removing the netstandard2.0 from most Microsoft.AspNetCore.* assemblies. See #3754
因此,为了在您的 .csproj
中使用 <FrameworkReference Include="Microsoft.AspNetCore.App" />
,您需要将目标设为 netcoreapp3.0
或更高。
我在将 visual studio 企业版 2019 降级为专业版 2019 后开始遇到这个问题。
.Net核心框架netcoreapp3.1
我通过将 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 从 3.1.3 更新到 3.1.4 来修复它。