.NET 4.8 WebApi执行Add-Migration时抛出TargetInvocationException
解决方案步骤
启用
loadFromRemoteSources开关
打开项目的web.config文件,在<configuration>节点内添加或修改<runtime>配置:<configuration> <!-- 其他已有配置 --> <runtime> <loadFromRemoteSources enabled="true" /> </runtime> </configuration>该配置解除.NET对“远程来源”程序集的加载限制,部分本地编译程序集若被系统标记为远程(如解压自压缩包)会触发此问题。
清理并重新生成解决方案
- 右键解决方案 → 清理解决方案
- 右键解决方案 → 重新生成解决方案
确保Capstone2.Entities项目编译无报错,生成的程序集可正常访问。
验证EF迁移配置
- 确认DbContext所在项目已正确引用
Capstone2.Entities项目 - 打开迁移配置类(
Configuration.cs),检查构造函数中DbContext实例化逻辑正常,能访问实体程序集。
- 确认DbContext所在项目已正确引用
清理迁移残留(若存在)
- 删除项目Migrations文件夹中与
deleted_authtable相关的未完成迁移文件 - 连接数据库,删除
__MigrationHistory表中对应错误迁移的记录(操作前建议备份数据库)
- 删除项目Migrations文件夹中与
重新执行迁移命令
- 在Package Manager Console中选择DbContext所在项目为默认项目
- 执行命令:
add-migration deleted_authtable - 成功生成迁移后,执行
update-database完成数据库更新
内容的提问来源于stack exchange,提问作者Aman Singh
相关产品推荐
相关产品推荐

