You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Entity Framework Core执行Add-Migration时出现FileLoadException异常求助

解决EF Core 2.0 add-migration时的FileLoadException错误

你遇到的是典型的程序集版本不匹配问题,这种情况在EF Core迁移操作中很常见,尤其是项目里不同EF相关包版本不一致的时候。下面是几个经过验证的解决步骤,你可以逐一尝试:

  • 统一所有EF Core相关包的版本
    你已经安装了Microsoft.EntityFrameworkCore.SqlServer 2.0.2,但要确保项目中其他EF Core依赖包(比如Microsoft.EntityFrameworkCore、Microsoft.EntityFrameworkCore.Tools、Microsoft.EntityFrameworkCore.Design等)也都是2.0.2版本。可以通过NuGet包管理器(右键项目→管理NuGet包)查看所有已安装的EF相关包,把版本不一致的都改成2.0.2;或者直接编辑项目的.csproj文件,确保所有EF包的Version属性都是2.0.2。

  • 清理并重建项目
    项目缓存的旧程序集可能会干扰迁移命令。先右键项目选择清理,然后选择生成;或者在程序包管理器控制台依次执行:

    Clean-Migration
    Rebuild
    
  • 确认包管理器控制台的默认项目
    执行add-migration命令时,一定要确保控制台顶部的“默认项目”下拉框选中的是包含你的DbContext类的项目——很多时候选错项目会导致引用的包版本不匹配,进而触发这个错误。如果不确定,也可以在命令里明确指定项目:

    add-migration initial -Project YourDataAccessProjectName
    
  • 清除NuGet缓存并重新还原包
    损坏的NuGet缓存也可能导致程序集加载异常。打开VS的工具→选项→NuGet包管理器→包源,点击“清除所有NuGet缓存”;之后右键解决方案选择还原NuGet包,确保所有包都重新下载并正确引用。

  • 手动检查程序集引用
    如果以上步骤都没解决问题,去项目的引用节点找到Microsoft.EntityFrameworkCore.SqlServer,右键查看属性,确认“版本”字段是2.0.2。如果显示的是其他版本,先删除这个引用,然后重新通过NuGet安装2.0.2版本的包。

这些步骤应该能帮你解决这个程序集加载错误,顺利执行迁移命令。

内容的提问来源于stack exchange,提问作者Abhilash D K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:20:27