为什么会抛出 AutomaticMigrationsDisabledException?
Why is AutomaticMigrationsDisabledException thrown?
我们有
- 一个旧的 Web 项目
- 一个新的 Web 项目
- 一个 Class 包含所有 Entity Framework 代码的库
所有三个项目参考 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 中看到的信息形成对比。
我们有
- 一个旧的 Web 项目
- 一个新的 Web 项目
- 一个 Class 包含所有 Entity Framework 代码的库
所有三个项目参考 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 中看到的信息形成对比。