为什么会抛出 AutomaticMigrationsDisabledException?

Why is AutomaticMigrationsDisabledException thrown?

我们有

所有三个项目参考 Entity Framework 6.1.3.

Class 库由旧 Web 项目和新 Web 项目共享。这两个 Web 项目都有对 Class 库的文件引用。它们都指向磁盘上的相同位置。

两个 Web 项目都配置为使用相同的数据库。

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

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

当我临时将 ClassLibrary.csproj 添加到新 Web 项目的解决方案和 运行

Add-Migration TestMigration -ConfigurationTypeName MyConfiguration -ProjectName ClassLibrary -StartupProjectName NewWebProject -ConnectionStringName MyContext

它用空的 Up() 和 Down() 方法构建迁移,表明它毕竟没有找到更改。

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

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

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

我删除了现有的文件引用并重新添加,问题解决了。

由于未知原因,引用了 ClassLibrary.dll 的旧副本,这与该引用的属性 window 中看到的信息形成对比。