ASP.Net Core创建初始迁移失败及NU1605包降级错误求助
解决ASP.NET Core MVC项目的迁移创建与包降级问题
咱们一步步来搞定你遇到的这两个常见问题:
一、解决dotnet ef命令找不到的问题
出现"No executable found matching command dotnet-ef",大概率是EF Core工具没安装或者项目缺少必要的设计包,按下面步骤操作:
- 首先全局安装对应版本的EF Core工具(你的项目基于.NET Core 2.0,所以要安装2.0.6版本),在CMD里执行:
dotnet tool install --global dotnet-ef --version 2.0.6 - 打开项目的
.csproj文件,确认添加了以下两个包引用(如果没有就补上):<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.6" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.6" PrivateAssets="All" /> - 保存文件后,在项目根目录运行
dotnet restore恢复依赖,之后再执行dotnet ef migrations add InitialCreate,应该就能正常识别命令了。
二、解决NU1605包降级错误
这个错误是因为项目依赖的某个包试图把Microsoft.NETCore.App从2.0.6降级到2.0.0,咱们可以通过强制指定框架版本来解决:
- 打开项目的
.csproj文件,在<PropertyGroup>节点里添加RuntimeFrameworkVersion,明确锁定要用的版本:<PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> <!-- 强制使用2.0.6版本,避免被降级 --> <RuntimeFrameworkVersion>2.0.6</RuntimeFrameworkVersion> </PropertyGroup> - 检查所有
PackageReference的版本,确保所有微软相关的包(比如EF Core、ASP.NET Core组件)都统一使用2.0.6版本,不要混合不同版本的包。 - 执行
dotnet clean清理项目,再依次运行dotnet restore和dotnet build,包降级的提示应该就消失了。
内容的提问来源于stack exchange,提问作者Pilapodapostache
相关产品推荐
相关产品推荐

