繁体   English   中英

Enable-Migrations命令更改了一些内容

[英]Enable-Migrations command changed something

谷歌搜索此问题,我尝试了所有解决问题的方法,没有任何变化。

我有一个为公司开发的小型MVC电子商务应用程序。 它分为两个项目:Domain和WebUI。 WebUI显然依赖于Domain,我的构建顺序反映了这一点。 我已经检查了两个项目的目标框架,它们都匹配(4.5),并且添加了EF 5.0。

构建基本的产品展示/目录和购物车代码后,我想实现用户,以便构建订单/商店功能。

到目前为止,一切工作正常。

我运行“ Enable-Migrations”,以便可以编写自己的成员资格/用户代码并使用已设置的数据库,以便将来的上下文更改以我的数据库而不是defaultOCnnection为目标。

启用迁移已插入“迁移”文件夹和“配置”类。 跑无错误。 “检查上下文是否目标并存在数据库...为项目* .WebUI启用了代码优先迁移。”

在运行Enable-Migrations之后尝试构建时,收到许多错误,指出Domain项目(我的产品类)的名称空间“ System.Web”中不存在类型或名称空间“ Mvc”,而一个错误“无法解析参考。 无法找到程序集“ System.Web.Mvc,版本4.0.0.0...。”以确保该程序集存在于磁盘上……”当然,WebUI出现一个错误,它无法找到Domain.dll。 (因为Domain.dll无法生成)。

运行enable-Migrations是如何造成的?

我该如何解决? 该dll位于磁盘上,属性表示该位置,包含引用,Local Copy = true...。

我真的不知所措....

奇怪的是,两天前我在一台机器上遇到了此错误,唯一的区别是我们正在运行EF 6.1.1。 我使用ReSharper来检查域项目中是否没有使用System.Web.Mvc,并删除了引用。 无论如何,我不知道它是怎么到达那里的。

我们可能在几年前就在此代码库上运行过enable-migrations,因此我们的问题似乎不太可能是由此引起的。

对于您而言,在域代码中确实没有太多理由要引用System.Web.Mvc,因此也许您可以考虑将依赖于该DLL的任何代码移动到您的Web项目中,如果可以的话不能彻底删除,然后删除DLL引用本身?

我知道这并不能解释为什么它不起作用。 可能与app.config文件中的程序集重定向有关。 也许它重定向到v5,不存在吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM