2014-10-07 87 views
0

我无法使用程序包管理器运行更新数据库。具体来说,我得到一个System.IO.FileNotFoundException代码优先迁移:无法加载文件或程序集

约,我的解决方案的结构如下:

  • Foo.Data
  • Foo.Presentation

Foo.Data包含我所有的EF代码。Foo.Presentation是表示层(在本例中是MVC5站点)

将Foo.Presentation设置为启动项目并将Foo.Data设置为程序包管理器中的默认项目时,每当我尝试运行更新数据库时,我都会得到:

“无法加载文件或程序集'Foo.Data,版本= 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一。该系统找不到指定的文件。”

如果我设置Foo.Data为启动项目默认的项目,我可以运行更新的数据库(只要我指定的连接字符串和供应商)。

这已被我逼疯了整整一上午 - 因此,如果任何人有任何的想法,你会帮我得到这个排序并保留剩下我的理智的


有两点要注意:

  • 我最近分支了解决方案。旧的分支工作正常
  • 我检查,双重检查和三重检查Foo.Presentation引用Foo.Data。它确实,我可以从Foo访问它.Presentation

回答

1

只是为了防止任何人在这个相同/类似的问题中绊倒 - 我是一个白痴。

原因是在Foo.Data和Foo.Presentation中使用的几个nuget包版本中存在差异。我在Foo.Presentation中无意中使用了新版本的软件包。

相关问题