1

我目前正在爲新數據庫創建InitialCreate遷移。我是這個遷移框架的新手,不知道它產生了什麼,我一直在運行update-database查看結果,刪除數據庫,然後在對結果進行一些更改後再次運行update-database代碼優先遷移MissingManifestResourceException

兩次我現在已經做了一些改變,去運行更新,並得到了如下的錯誤:

應用基於代碼的遷移:201209121936571_InitialCreate。 System.Resources.MissingManifestResourceException:無法找到適用於指定文化或中性文化的任何資源。確保在編譯時「$ assemblyName $ .resources」已正確嵌入或鏈接到程序集「$ assemblyName $」中,或者確保所有需要的附屬程序集均可加載並完全簽名。 在[堆棧跟蹤]

然後,它以紅色結束與

找不到適合於指定培養或中性培養的任何資源。確保「$ assemblyName $ .Migrations.InitialCreate.resources」在編譯時被正確嵌入或鏈接到程序集「$ assemblyName $」中,或者確保所有需要的附屬程序集均可加載並完全簽名。

我第一次遇到這個,我放棄了遷移文件夾,運行enable-migrations重新做了我的修改並且能夠運行遷移。

它又發生了,我不想在每次發生這種情況時重新創建文件。有誰知道如何解決這個問題,使遷移再次工作?

+1

參照這個主題,它解決了我的問題。 http://stackoverflow.com/a/17484445/193634 –

回答

2

我最終在把所有我想提出的問題的信息放在一起的過程中弄清楚了這一點。也就是說,試圖重現這個問題。

事實證明,如果您有一個除DbMigration的繼承者以外的類作爲文件中的第一個類,那麼Resource文件將使用另一個類的名稱,而不是用於中斷遷移的遷移。

我提交了一個報告錯誤here