【发布时间】: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<>”(您是否缺少 using 指令或程序集引用?)
如果我添加这一行:
<FrameworkReference Include="Microsoft.AspNetCore.App" />
我看到了这个错误:
错误 NETSDK1073 无法识别 FrameworkReference 'Microsoft.AspNetCore.App'
如何解决我的问题?
【问题讨论】:
-
也许你应该使用
TargetFramework而不是TargetFrameworknetcoreapp3.0?
标签: c# asp.net-core-identity .net-core-3.0