我有一个 WebForms 项目,它有一个连接字符串硬编码到 web.config 中(用于调试 - web.Debug.config)。该连接字符串指向用于开发的数据库服务器。
我想运行该数据库的本地副本,以便我的更改不会立即影响其他人。
我一直在做的是进入 web.config 并更新连接字符串以指向我的本地数据库。这可行,但有点乏味,因为我必须记住排除 web.config,并且如果撤消所有更改,则必须重新更新它。
正如我所说,由于其他人正在使用此解决方案,因此我想避免检查任何内容或修改网络配置。
有没有办法覆盖 web.config 连接字符串以强制站点指向我的本地数据库而不将任何内容签入源代码管理?
一种解决方案是使用配置转换功能。
VS 2012:
- 转到构建->配置管理器
- 单击活动解决方案配置列表框并选择“新建”。
- 输入 local 作为新配置的名称,然后单击“保存”。
- 确保将“配置”列下的值更改回“调试”或“调试”
以前曾经是默认的
- 右键单击您的 Web.config 文件并选择添加配置转换,这将添加新创建的 web.local.config
-
在 web.local.config 中添加本地连接字符串转换,例如
<connectionStrings>
<add name="DbConnection"
connectionString="...Add Local Connection String..."
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
运行或调试项目时,请确保从绿色运行箭头旁边的列表框中选择本地配置。你只是没有检查 web.local.config
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)