当我在本地运行时,我发现自己必须在 web.config 中手动更新我的 DefaultConnection 连接字符串。如何自动检测我何时在本地运行以及何时覆盖默认连接字符串?
我有调试/发布转换工作,但这些是用于部署的。我正在寻找一种方法来添加另一个选项 - “本地” - 如果有任何方法(或类似的方法)。
当我在本地运行时,我发现自己必须在 web.config 中手动更新我的 DefaultConnection 连接字符串。如何自动检测我何时在本地运行以及何时覆盖默认连接字符串?
我有调试/发布转换工作,但这些是用于部署的。我正在寻找一种方法来添加另一个选项 - “本地” - 如果有任何方法(或类似的方法)。
您需要添加解决方案配置才能添加 web.config 转换。
同时设置项目配置,完成后,右键单击 web.config,选择“添加转换”,一切顺利!
然后,当您想使用本地连接字符串时,只需使用此配置而不是调试。
这取决于您如何调试。如果您使用的是 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 中发生了变化,但您应该能够使指南适应较新的版本。
尝试按照本文所述创建 web.config 转换
http://blogs.msdn.com/b/webdev/archive/2009/05/04/web-deployment-web-config-transformation.aspx
虽然我自己没有尝试过,但它看起来很有希望。