【发布时间】:2015-01-07 15:26:28
【问题描述】:
我目前有一个使用实体框架代码优先迁移和网络发布的项目,其中连接字符串存储在 web.config 文件中。
是时候将 connectionStrings 移到 web.config 之外了,因此我们将它们放入 connectionString.config 文件中,并让 slowcheetah 在 webpublish 上对其进行转换。
connectionStrings.config
<connectionStrings>
<!-- Testing Databases -->
<add
connectionString="server=testserver;database=testdatabasename;user id=someid;password=*******"
name="dbname"
providerName="System.Data.SqlClient"
/>
</connectionStrings>
web.config 相关部分
<connectionStrings configSource="config\connectionStrings.config">
</connectionStrings>
现在,当我加载 Web 发布对话框(构建 -> 发布项目)时,在设置选项卡中我收到错误
No Databases found in the project
这表明对话框不够智能,无法查看 configSource 并从那里加载数据。我可以确认connectionStrings在我的开发环境中正确加载,我还可以确认slowcheetah正在正确地将配置转换到它的生产环境中。
有没有办法让 Visual Studio Publish 查看我的配置配置,并允许代码优先迁移?
【问题讨论】:
-
This 可能对你有帮助。
-
@Siva 不幸的是,这不是问题,其他配置文件已经部署得很好。这是 Visual Studio 方面的一个问题 :(
-
我有完全相同的问题,在 VS 2015 CTP 中,虽然我很确定我也可以在 VS2013 上复制它。如果我使用外部 ConnString.config 文件,则“发布 Web”对话框不会拾取连接字符串,并且我无法使用 Code First 迁移。有没有人找到解决方法?
-
到目前为止,没有,我所有的外部连接字符串配置文件都没有源代码,我把它们放回了 web.config。我认为这对于 VS / WebDeploy 微软团队来说可能是一个合法的错误。
标签: asp.net entity-framework visual-studio-2013 entity-framework-migrations webdeploy