【问题标题】:Enable Migrations in MVC throws File not Found Error在 MVC 中启用迁移会引发 File not Found 错误
【发布时间】:2015-11-13 00:33:36
【问题描述】:

我是使用 MVC 的新手,在阅读有关 Visual Studio 2013 中迁移的教程时,我似乎打破了包管理器控制台中与 EntityFramework 的绑定。

我相信这是从我将 EntityFramework 更新到版本 6.1.3 时开始的,但这似乎与 MVC 控制器脚手架不兼容。所以我把它回滚到 5.0.0 版本。

当我现在输入命令enable-migrations

我收到以下错误:

使用“8”参数调用“CreateInstanceFrom”的异常:“无法加载文件或程序集 'EntityFramework,版本 = 5.0.0.0 , Culture=neutral, PublicKeyToken=b77a5c561934e089' 或其依赖项之一。该系统找不到指定的文件。” 在 D:\ss\CAP\CAP_MVC_Dev_2\CAP_MVC\packages\EntityFramework.5.0.0\tools\EntityFramework.psm1:431 char:31 + $domain.CreateInstanceFrom

文件EntityFramework.psm1 存在于上面描述的位置,但错误似乎在该文件中? $domain.CreateInstanceFrom 怎么不见了,从哪里来的?卸载和重新安装 EntityFramework 包没有区别。

我尝试从头开始创建新项目,但此错误仍然存​​在。卸载/重新安装 Visual Studio 2013 也没有解决问题,也没有破坏连接的数据库并从空数据库重新开始。

【问题讨论】:

    标签: c# asp.net-mvc entity-framework visual-studio-2013 nuget-package


    【解决方案1】:

    所以,原来的解决方案和这个类似

    Entity Framework code first migrations throwing error

    当我第一次尝试此解决方案时,有报告称 gacutil 未被识别。由于我工作的环境,将 gacutil 添加到普遍识别(我相信)并不简单,所以我在文件系统中找到了 gacutil.exe,将其复制到链接帖子中引用的 lib\net45 文件夹中,然后运行命令

    gacutil /i EntityFramework.dll
    

    这已经解决了问题,我不再收到“找不到文件错误”

    【讨论】:

      【解决方案2】:

      我没有使用 GAC 安装,而是采用了以下解决方案(VS2013 SP5 + EF 5):

      复制(解决方案目录)\packages\EntityFramework.5.0.0(整个目录) 到

      C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\EFTools\NuGet Packages\
      

      NuGet Packages 目录不存在,需要手动创建。

      【讨论】:

      • 谢谢@spottedone!这个解决方案对我有用(VS 2013 Update 5 + EF 5.0.0)。
      • 谢谢@spottedone!这个解决方案也对我有用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-25
      • 1970-01-01
      • 2016-08-21
      • 2016-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多