使用
移至ef 4.3AutomaticMigrationsEnabled = true;
在web.config
中有以下设置:
<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 :(得分:1)
运行迁移时,似乎二进制文件和配置文件被复制到临时目录。引用为configSource
的文件不会被复制。我已经尝试在构建中标记要复制的configSource
文件,但没有运气。
我恢复了将连接字符串放入包含我的dbcontext和迁移的类库的app.config中。我有一个单独的类库,所以我的主Web项目的web.config仍然可以使用configSource
。
答案 1 :(得分:1)
似乎这个错误是fixed in 4.3.1。
使用时启用对配置文件中configsource的支持 Code First Migrations。
答案 2 :(得分:0)
在这里使用EF 6.1。
如果像我一样,您链接到位于另一个项目中的connectionStrings.config文件而不是您的Entity Framework迁移项目(使用添加为链接),您可能需要将文件移回此EF项目并链接来自其他项目的移动文件......