如何为本地计算机设置不同的web.config设置?

时间:2013-10-10 00:20:44

标签: asp.net asp.net-mvc-4 visual-studio-2012 deployment web-config

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

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

3 个答案:

答案 0 :(得分:6)

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

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

设置你的项目配置,当你完成后,右键单击web.config,选择“添加转换”,你就可以了!

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

答案 1 :(得分:2)

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

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

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

使用VS 2010查看http://www.tomot.de/en-us/article/5/asp.net/how-to-use-web.config-transforms-to-replace-appsettings-and-connectionstrings有关web.config转换的分步教程。虽然VS 2012中的发布对话框已更改,但您应该能够将指南调整为较新版本。

答案 2 :(得分:0)

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

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

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