如何在VS2010中的新web.config配置中使用applicationSettings?

时间:2010-04-02 19:44:15

标签: c# asp.net visual-studio-2010 application-settings

我习惯使用Web部署项目。目前我正在使用VS2010开发一个新的Web应用程序,并希望尝试与新的web.config原则和部署问题相处。

如何更换像

这样的简单设置
<applicationSettings>
  <NAMESPACE>
   <setting name="Testenvironment" serializeAs="String">
    <value>True</value>
   </setting>
  </NAMESPACE>
</applicationSettings>

我希望在Debug中将此设置设置为True,在Release中设置为false。 Web.Debug.config和Web.Release.Config中的条目必须如何?

顺便说一句:是否有关于新web.config问题的文档?似乎无法谷歌搜索正确的关键字。

5 个答案:

答案 0 :(得分:45)

最好的方法是执行以下操作:

<applicationSettings> 
  <NAMESPACE> 
   <setting name="Testenvironment" serializeAs="String"  xdt:Transform="Replace" xdt:Locator="Match(name)"> 
    <value>True</value> 
   </setting> 
  </NAMESPACE> 
</applicationSettings> 

而不是Zubeyir建议,因为这个只会替换指定的设置而不是替换applicationSettings部分的WHOLE。

答案 1 :(得分:13)

你也可以用这种方式;例如,对于prod环境。

<applicationSettings xdt:Transform="Replace">
  <NAMESPACE> 
   <setting name="Testenvironment" serializeAs="String"> 
    <value>False</value> 
   </setting> 
  </NAMESPACE> 
</applicationSettings> 

问候。

答案 2 :(得分:3)

您应该将此设置复制到Web配置文件 - Web.Debug.config和Web.Release.config并将转换属性xdt:Transform="SetAttributes" xdt:Locator="Match(name)"

您可以看到此视频教程 - http://chriskoenig.net/index.php/2010/04/08/how-do-i-web-config-transformations-in-vs2010/

希望有所帮助。

答案 3 :(得分:1)

以下是此主题的大量示例链接:http://msdn.microsoft.com/en-us/library/dd465326.aspx

但是特别是Web.config转换和applicationSettings似乎存在问题:使用xdt-Transform=“Replace”对此查询的所有答案都存在问题,即由于XML格式化,它们会在部署的Web.config中引入额外的空白区域。如果您使用结果设置,则会导致错误行为。似乎没有解决方案。以下是关于此问题的未回答的问题:VS 2010 configuration transformation produces unwanted white space during deployment

答案 4 :(得分:1)