2015-05-20 137 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的較舊副本。

相關問題