8

当我在本地运行时,我发现自己必须在 web.config 中手动更新我的 DefaultConnection 连接字符串。如何自动检测我何时在本地运行以及何时覆盖默认连接字符串?

我有调试/发布转换工作,但这些是用于部署的。我正在寻找一种方法来添加另一个选项 - “本地” - 如果有任何方法(或类似的方法)。

4

3 回答 3

6

您需要添加解决方案配置才能添加 web.config 转换。

  • 右键单击您的解决方案(在解决方案资源管理器中)
  • 选择“配置管理器”并在“活动解决方案配置”下拉列表中单击新建。
  • 输入配置名称(例如“本地”)
  • 从调试复制设置(似乎更适合开发)
  • 选中“创建新项目配置”。

同时设置项目配置,完成后,右键单击 web.config,选择“添加转换”,一切顺利!

然后,当您想使用本地连接字符串时,只需使用此配置而不是调试。

于 2013-10-10T11:25:21.190 回答
2

这取决于您如何调试。如果您使用的是 Cassini,则无论选择何种解决方案配置(例如调试或发布),都将读取您的 web.config 内容。

如果您使用本地 IIS 进行调试,则取决于您在 IIS 中设置的路径。如果已将其设置为源代码目录,则需要将本地设置写入 web.config。如果您将代码发布到本地目录并相应地设置 IIS 路径,则可以使用 web.config 转换。(您说过,您的 web.config 转换正在工作)

对于其他未来的读者:
我推荐以下内容:在 web.config 中进行调试设置。使用“发布”设置 (Web.Release.Config) 创建解决方案配置,用于发布过程。

一步一步查看http://www.tomot.de/en-us/article/5/asp.net/how-to-use-web.config-transforms-to-replace-appsettings-and-connectionstrings使用 VS 2010 进行 web.config 转换的教程。虽然发布对话框在 VS 2012 中发生了变化,但您应该能够使指南适应较新的版本。

于 2013-10-10T11:37:15.453 回答
0

尝试按照本文所述创建 web.config 转换

http://blogs.msdn.com/b/webdev/archive/2009/05/04/web-deployment-web-config-transformation.aspx

虽然我自己没有尝试过,但它看起来很有希望。

于 2013-10-10T13:48:45.130 回答