.NET 7升级后执行Add-Migration命令出现重复键异常
.NET 7升级后Add-Migration报错及HostAbortedException问题
项目从ASP.NET Core 6升级至.NET 7后,运行阶段无任何报错,但执行EF Core迁移命令时遇到异常,同时调试时触发宿主中止异常,具体情况如下:
Add-Migration 异常情况
已更新项目所有NuGet包,执行命令Add-Migration -name test2时显示构建成功,但抛出如下重复键异常:
at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at System.Linq.Enumerable.ToDictionary[TSource,TKey](IEnumerable`1 source, Func`2 keySelector, IEqualityComparer`1 comparer) at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.AddSeedData(IEntityType entityType, Dictionary`2 identityMaps, EntityState initialState) at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.TrackData(IRelationalModel source, IRelationalModel target, DiffContext diffContext) at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.GetDataOperations(IRelationalModel source, IRelationalModel target, DiffContext diffContext)+MoveNext() at System.Linq.Enumerable.ConcatIterator`1.MoveNext() at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.Sort(IEnumerable`1 operations, DiffContext diffContext) at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer.GetDifferences(IRelationalModel source, IRelationalModel target) at Microsoft.EntityFrameworkCore.Migrations.Design.MigrationsScaffolder.ScaffoldMigration(String migrationName, String rootNamespace, String subNamespace, String language) at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration(String name, String outputDir, String contextType, String namespace) at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String name, String outputDir, String contextType, String namespace) at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigration.<>c__DisplayClass0_0.<.ctor>b__0() at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0() at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action) An item with the same key has already been added. Key: Description
HostAbortedException 异常情况
使用NLog调试时,在代码var app = builder.Build();位置触发Microsoft.Extensions.Hosting.HostAbortedException异常。
已尝试的解决措施
- 修改可空类型字段为
?,并在项目构建属性中禁用可空上下文 - 使用
Debugger.Launch启动调试,问题仍未解决
内容的提问来源于stack exchange,提问作者Hamzeh Shakerian
相关产品推荐
相关产品推荐

