Как использовать applicationSettings в новой конфигурации web.config в VS2010?
Я использую проекты веб-развертывания. В настоящее время я разрабатываю новое веб-приложение с 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 правильные ключевые слова.
Ответы
Ответ 1
Вы также можете использовать этот способ; для среды prod, например.
<applicationSettings xdt:Transform="Replace">
<NAMESPACE>
<setting name="Testenvironment" serializeAs="String">
<value>False</value>
</setting>
</NAMESPACE>
</applicationSettings>
С уважением.
Ответ 2
Лучшим способом было бы сделать следующее:
<applicationSettings>
<NAMESPACE>
<setting name="Testenvironment" serializeAs="String" xdt:Transform="Replace" xdt:Locator="Match(name)">
<value>True</value>
</setting>
</NAMESPACE>
</applicationSettings>
Вместо предложения Zubeyir, поскольку этот только заменит заданную настройку, а не заменит WHOLE раздела applicationSettings.
Ответ 3
Вы должны скопировать этот параметр в оба файла веб-конфигурации - 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/
Надеюсь, что это поможет.
Ответ 4
Вот ссылка с большим количеством образцов по этой теме: http://msdn.microsoft.com/en-us/library/dd465326.aspx.
Но, похоже, проблема особенно связана с преобразованиями Web.config и applicationSettings: у всех ответов на этот запрос с помощью xdt-Transform="Replace"
возникает проблема, заключающаяся в том, что они добавляют дополнительное пространство в развернутый файл Web.config из-за форматирования XML. Это приводит к ошибочному поведению, если вы потребляете результирующие настройки. Кажется, нет решения. Вот мой неотвеченный вопрос по этой проблеме: Преобразование конфигурации VS 2010 создает нежелательное пустое пространство во время развертывания.
Ответ 5
Вы также можете посмотреть Как использовать преобразования web.config для замены appSettings и connectionStrings