1

我想分别使用 Web.Debug.config 和 Web.Release.config 。

但它在 Visual Studio 2010 中不起作用,并且在部署后它可以在实际服务器上运行。

Web.Release.config

<appSettings>
    <add key="GOOGLE_MERCHANT_ID" value="LIVE_GOOGLE_MERCHANT_ID" xdt:Transform="Insert" xdt:Locator="Match(key)" />
</appSettings>

Web.Debug.config

<appSettings>
    <add key="GOOGLE_MERCHANT_ID" value="DEBUG_GOOGLE_MERCHANT_ID" xdt:Transform="Insert" xdt:Locator="Match(key)" />
</appSettings>

我喜欢上面的配置文件,我尝试在屏幕上回显配置值。

string t = WebConfigurationManager.AppSettings["GOOGLE_MERCHANT_ID"]; Response.Write(t);

在视觉工作室,

在此处输入图像描述

设置为发布模式和 F5(我也尝试过构建解决方案(F6)),但它不打印任何内容。

所以我尝试部署包并安装在服务器上并运行然后它打印正确的值。

我如何在 Visual Studio 中做到这一点?我想在部署包之前确保一切正常。

请多多指教~

谢谢!

[编辑]

现在我明白了,谢谢所有给我好的答案的人!

我可以再问一个问题吗?

那这是为了什么?

在此处输入图像描述

如果我更改为 Release 或 Debug 那么对我的项目有什么影响?

4

3 回答 3

1

看到这篇文章https://stackoverflow.com/a/5734829/611288

正如 Jimmy 所说,web.config 转换仅在 Web Publish Pipeline 期间应用

Jimmy 还为黑客提供了以下链接:http: //sedodream.com/2010/10/21/ASPNETWebProjectsWebdebugconfigWebreleaseconfig.aspx

或者,创建一个在本地部署的测试部署并在那里测试配置设置。

于 2012-06-21T15:56:48.023 回答
0

据我所知,在构建解决方案时无法构建 web.config。您可以通过根据您选择的构建配置将 xml 合并工具作为构建后事件执行来解决此问题。类似的东西XmlConfigMerge可能会帮助你。

于 2012-06-21T15:46:47.293 回答
0

我认为你不能这样做是视觉工作室。如果您想在服务器上测试您的项目,请尝试在本地 iis 而不是实际服务器上测试它。

于 2012-06-21T15:52:52.880 回答