我想分别使用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上,
设置为发布模式,F5(我也尝试过Build Solution(F6)),但它不会打印任何内容。
因此,我尝试部署软件包并在服务器上安装并运行,然后打印正确的值。
我在Visual Studio中如何做到这一点?我想在部署包之前确保一切正常。
请告诉我〜
谢谢!
[编辑]
现在我明白了,谢谢所有给我很好答案的人!
请问还有一个问题吗?
那么这是为了什么?
如果我更改为Release或Debug,那么对我的项目有什么影响?
答案 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而不是实际服务器上进行测试。