Как использовать applicationSettings в новой конфигурации web.config в VS2010? - PullRequest
19 голосов
/ 02 апреля 2010

Я привык использовать проекты веб-развертывания. В настоящее время я занимаюсь разработкой нового веб-приложения для VS2010 и хочу попытаться освоить новый принцип web.config и проблемы развертывания.

Как заменить простую настройку, например

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

Я хочу, чтобы для этого параметра было установлено значение True в Debug и значение false в Release. Как должны выглядеть записи в Web.Debug.config и Web.Release.Config?

И, кстати, : Есть ли документация по новой проблеме web.config? Не могу найти в Google правильные ключевые слова.

Ответы [ 5 ]

45 голосов
/ 03 августа 2010

Лучшим способом было бы сделать следующее:

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

Вместо предложения Zubeyir, поскольку этот заменит только указанный параметр, а не заменит ВСЕ раздел настроек приложения.

13 голосов
/ 21 июня 2010

Вы также можете использовать этот способ; для среды prod, например.

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

Привет.

3 голосов
/ 12 мая 2010

Вы должны скопировать этот параметр в оба файла веб-конфигурации - 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/

Надеюсь, это поможет.

1 голос
/ 01 января 2011
1 голос
/ 13 августа 2010

Вот ссылка с множеством примеров на эту тему: http://msdn.microsoft.com/en-us/library/dd465326.aspx.

Но, похоже, существует проблема, особенно с преобразованиями Web.config и настройками приложения: все ответы на этот запрос с использованием xdt-Transform=“Replace” имеют проблему, заключающуюся в том, что они вносят дополнительный пробел в развернутый Web.config из-за форматирования XML. Это приводит к неправильному поведению, если вы используете полученные настройки. Кажется, нет решения. Вот мой оставшийся без ответа вопрос по этой проблеме: Преобразование конфигурации VS 2010 создает нежелательные пустые места во время развертывания .

...