Visual Studio 2010,用于Debug和Release的asp.net mvc3 web.config

时间:2012-06-21 15:43:38

标签: asp.net asp.net-mvc-3 visual-studio-2010 web-config

我想分别使用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);

在Visual Studio上,

enter image description here

设置为发布模式,F5(我也尝试过Build Solution(F6)),但它不会打印任何内容。

因此,我尝试部署软件包并在服务器上安装并运行,然后打印正确的值。

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

请告诉我〜

谢谢!

[编辑]

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

请问还有一个问题吗?

那么这是为了什么?

enter image description here

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

3 个答案:

答案 0 :(得分:1)

请参阅此帖子https://stackoverflow.com/a/5734829/611288

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

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

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

答案 1 :(得分:0)

据我所知,构建解决方案时无法构建web.config。您可以通过执行xml合并工具作为基于所选构建配置的构建后事件来解决此问题。像XmlConfigMerge这样的东西可能对你有帮助。

答案 2 :(得分:0)

我认为你做不到的就是视觉工作室。如果要在服务器上测试项目,请尝试在本地iis而不是实际服务器上进行测试。