代码之家  ›  专栏  ›  技术社区  ›  citronas

如何在vs2010的新web.config配置中使用applicationsettings?

  •  19
  • citronas  · 技术社区  · 14 年前

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

    我如何替换一个简单的设置

    <applicationSettings>
      <NAMESPACE>
       <setting name="Testenvironment" serializeAs="String">
        <value>True</value>
       </setting>
      </NAMESPACE>
    </applicationSettings>
    

    我希望在调试时将此设置设置为true,在发布时设置为false。web.debug.config和web.release.config中的条目必须是什么样子?

    顺便说一句 :是否有关于新web.config问题的文档?谷歌似乎找不到正确的关键词。

    5 回复  |  直到 13 年前
        1
  •  13
  •   Zubeyir    14 年前

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

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

    当做。

        2
  •  45
  •   Jonathan Stanton    14 年前

    最好的方法是:

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

    而不是zubeyir建议,因为这个建议只会替换指定的设置,而不是替换整个applicationsettings部分。

        3
  •  3
  •   bluish dmajkic    13 年前

    您应该将此设置复制到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/

    希望能有所帮助。

        5
  •  1
  •   Community VonC    7 年前

    这里有一个关于这个主题的大量示例的链接: 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 .