Можно ли указать aspnet_compiler установить debug=false в web.config?
Я намерен автоматизировать это как часть процесса сборки nant. Я открыт для предложений, отличных от синтаксического анализа xml
Можно ли указать aspnet_compiler установить debug=false в web.config?
Я намерен автоматизировать это как часть процесса сборки nant. Я открыт для предложений, отличных от синтаксического анализа xml
Вы думали об использовании <xmlpoke>
?
<xmlpoke file="${Build.WebConfig}"
xpath="/configuration/system.web/compilation/@debug"
value="false">
</xmlpoke>
Я бы предложил использовать совершенно разные файлы конфигурации для каждой среды (в нашем случае prod, test, staging). В зависимости от сборки вы просто используете требуемую конфигурацию, без беспорядка, меньше суеты. У Hanselmen есть пример того, как это сделать в Visual Studio, и если вы прочитали первый комментарий Фил Хак заставил его работать с NAnt.
<target name="configMerge">
<copy file="${sourcefile}"
tofile="${destinationfile}" overwrite="true">
<filterchain>
<expandproperties />
</filterchain>
</copy>
</target>
Кроме того, если вы используете VS 2010, теперь вы можете использовать преобразования web.config
Я решаю это так: у меня есть отдельные файлы конфигурации для каждой среды развертывания:
В «скрипте сборки» я копирую файлы конфигурации для типа, который я создаю. Например, в Staging я скопировал /configs/staging/*.config в корень веб-сайта. Затем мой сценарий вызовет aspnet_compiler для компиляции приложения.
Я использовал этот инструмент как часть моей цепочки сборки. Он позволяет использовать условные параметры конфигурации в одном XML-файле на основе параметров сборки.
http://xmlpreprocess.sourceforge.net/
Используя проекты веб-развертывания, вы можете поменять местами различные разделы вашего web.config после сборки.