2014-04-01 34 views
15

過去幾個月我一直在使用MVC5和實體框架6。我將我的主要模型/業務邏輯和「遷移」分離到一個單獨的程序集中,並在我的Web應用程序中引用它。遷移一直很好。實體框架遷移「沒有名爲'DefaultConnection'的連接字符串可以找到...」

今天我運行「更新數據庫」,我得到「沒有名爲'DefaultConnection'的連接字符串可以在應用程序配置文件中找到。」

'DefaultConnection'在我的web.config文件中仍然存在。如果我將該部分複製到Migrations所在的項目中,它將再次運行。如果我刪除該部分,則會引發該錯誤。我不知道可能發生了什麼變化。

我昨天做的唯一一件事就是運行「磁盤清理」清理我的HD上的空間。

回答

38

好。經過一些模糊的谷歌搜索後,我找到了答案。顯然,我的包含遷移代碼的項目被設置爲「啓動項目」。

將我的web應用程序重置爲啓動項目(並確保程序包管理器中的「默認項目」已設置爲我的遷移項目)後,它重新開始工作!

問題解決!

+3

感謝這促使我堅果,因爲這發生在我今天以及 – TheEdge

+1

只是爲了澄清這不是一個包管理器控制檯命令,就像正常的右擊一個適當的啓動項目,並選擇設置爲啓動Prioject。 – SharpC

+0

有類似的問題 - EF類在另一個項目。但是設置爲啓動的相同項目必須設置爲啓動,並將EF項目設置爲包管理器控制檯中的DefaultProject才能使其運行。 – Mathieson

2

確保從的NuGet控制檯命令的執行你選擇合適的項目 enter image description here

+0

我有正確的默認項目選擇。同樣的錯誤。 – FrankO

+0

請參閱下面的答案。我發現了這個問題。 – FrankO