2015-05-20 140 views
4

我们有一个包含所有实体框架代码 为什么会抛出AutomaticMigrationsDisabledException?

  • 老网络项目
  • 新的Web项目
  • 一个类库,这三个项目中引用实体框架6.1.3。

    该类库由Old Web Project和New Web Project共享。这两个Web项目都有对类库的文件引用。它们都指向磁盘上的相同位置。

    两个web项目都配置为使用同一个数据库。

    当我在Visual Studio中运行旧Web项目时,它运行得很好。

    当我尝试在Visual Studio中运行新建Web项目时,它会引发AutomaticMigrationsDisabledException。

    当我暂时补充ClassLibrary.csproj到新的Web项目的解决方案和运行

    附加迁移TestMigration -ConfigurationTypeName MyConfiguration -ProjectName ClassLibrary -StartupProjectName NewWebProject -ConnectionStringName MyContext

    它脚手架一使用空的Up()和Down()方法进行迁移,表明它毕竟没有发现变化。

    什么可能导致新Web项目在这些情况下抛出AutomaticMigrationsDisabledException?我如何进一步诊断问题?

+0

你确定你的新项目找到了正确的数据库吗?检查'DbContext'构造函数? – jjj

+0

刚刚发现原因。添加了一个答案。 –

回答

1

我已经非常仔细地检查了New Web Project对ClassLibrary.dll的文件引用是否正确,并且所涉及的DLL是最新的。

作为一个测试,我在ClassLibrary.dll的类中添加了一个新方法,发现New Web Project无法解决它。

我删除了现有的文件引用并将其添加回来,并解决了问题。

由于某个未知原因,与该引用的“属性”窗口中显示的信息相比,引用了ClassLibrary.dll的较旧副本。

相关问题