2012-02-14 31 views
3

動了實體框架4.3 '更新數據庫' 時配置文件被分開

AutomaticMigrationsEnabled = true; 

web.config有以下設置EF 4.3:

<appSettings configSource="appSettings.config" /> 
<connectionStrings configSource="connectionStrings.config" /> 

在包管理器控制檯執行

update-database -verbose 

並得到以下錯誤:

System.Configuration.ConfigurationErrorsException: Unable to open configSource file 'connectionStrings.config' 

錯誤是可以理解的:它試圖從不到哪connectionStrings.config文件存在項目根目錄的工作目錄打開connectionStrings.config文件。

如果將connectionStrings.config和appSettings.config內容移動到web.config中,所有內容都像魅力一樣工作。

它可以解決某個問題嗎?

+0

相關:http://stackoverflow.com/questions/9264019/ef-4-3-migrations-throwing-unable-to-open-configsource-file – 2012-02-14 21:58:46

+0

檢查此:https://plus.google.com/115980691282662298835/posts/UYxAuBQYySA – 2012-02-15 10:53:37

回答

1

看起來像這個錯誤是fixed in 4.3.1

Enabled support for configsource in configuration files when using Code First Migrations.

1

當遷移運行時,看起來二進制文件和配置文件被複制到臨時目錄。引用爲configSource的文件不會被複制。我試過在構建中將configSource文件標記爲複製,但沒有運氣。

我回到了將連接字符串正確放入包含我的dbcontext和migrations的類庫的app.config。我有一個單獨的類庫,所以我的主Web項目的web.config仍然可以使用configSource

+0

正如@sashaeve指出的那樣,這個問題已經在4.3.1中修復了,所以我的回答已經過時了。 – 2012-03-08 15:19:55

0

在這裏使用EF 6.1。

如果像我這樣鏈接到另一個項目中的connectionStrings.config文件,而不是Entity Framework遷移項目(使用Add作爲鏈接),則可能需要將文件移回此EF項目並鏈接到從其他項目移動的文件,而不是...