开发.NET Core WebApp遇NU1101错误:找不到指定NuGet包
解决NU1101:无法找到Microsoft.AspNetCore.Identity.EntityFramework包的问题
嘿,这个问题我之前踩过坑!你遇到的NU1101错误本质很简单——根本不存在Microsoft.AspNetCore.Identity.EntityFramework这个NuGet包,正确的包名是Microsoft.AspNetCore.Identity.EntityFrameworkCore(注意末尾的Core后缀)。
再仔细看你的csproj文件,还有几个可以优化的地方,帮你彻底解决问题:
1. 修正错误的包引用
把你csproj里的这一行:
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFramework" version="2.2.2" />
替换成:
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="2.2.0" />
这里版本号建议和Microsoft.AspNetCore.App保持一致(2.2.0),避免版本不一致引发的潜在冲突。
2. 移除冗余的包引用
Microsoft.AspNetCore.App是ASP.NET Core的元包,已经内置了Microsoft.AspNetCore.Identity、Microsoft.EntityFrameworkCore等核心依赖,重复引用反而可能导致版本混乱。你可以移除以下几个不必要的引用:
Microsoft.AspNetCore.Identity(已包含在Microsoft.AspNetCore.App中)Microsoft.EntityFrameworkCore(已包含在Microsoft.AspNetCore.App中)Microsoft.EntityFrameworkCore.Relational.Design(EF Core 2.x中已被弃用,功能整合到Microsoft.EntityFrameworkCore.Design)
修改后的完整csproj示例
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> <AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="2.2.0" /> <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.2.4" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="2.2.4" /> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.2.4" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.2.4"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> </ItemGroup> <ItemGroup> <Folder Include="Areas\Admin\Controllers\Views\Category\" /> </ItemGroup> </Project>
最后验证步骤
- 保存修改后的csproj文件
- 右键项目 → 管理NuGet程序包,点击顶部的还原按钮,等待包还原完成
- 如果还是遇到缓存问题,可以尝试清理NuGet缓存:
- 打开Visual Studio的工具 → NuGet包管理器 → 包管理器设置
- 在左侧找到NuGet包管理器 → 常规,点击清除所有NuGet缓存
- 或者在命令行执行:
dotnet nuget locals all --clear
这样应该就能彻底解决你的NU1101错误了!
内容的提问来源于stack exchange,提问作者Techguy
相关产品推荐
相关产品推荐

