3

移至 ef 4.3

AutomaticMigrationsEnabled = 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文件所在的根项目目录。

如果要移动到 web.config 的 connectionStrings.config 和 appSettings.config 内容都像魅力一样工作。

它是一个错误,它可以以某种方式解决吗?

4

3 回答 3

1

运行迁移时,二进制文件和配置文件似乎已复制到临时目录。引用的文件configSource不会被复制。我尝试configSource在构建中标记要复制的文件,但没有成功。

我恢复将连接字符串直接放入包含我的 dbcontext 和迁移的类库的 app.config 中。我有一个单独的类库,所以我的主 web 项目的 web.config 仍然可以使用configSource.

于 2012-03-07T20:47:30.127 回答
1

似乎此错误已在 4.3.1 中修复

使用 Code First 迁移时,在配置文件中启用了对 configsource 的支持。

于 2012-03-08T12:55:07.057 回答
0

在这里使用 EF 6.1。

如果像我一样,您链接到位于另一个项目中的 connectionStrings.config 文件,而不是您的 Entity Framework 迁移项目(使用添加为链接),您可能需要将文件移回此 EF 项目并链接到移动的文件其他项目代替...

于 2017-03-24T16:52:02.323 回答