Установка debug = false в web.config как часть сборки - PullRequest
6 голосов
/ 24 марта 2009

Можно ли поручить aspnet_compiler установить debug = false в web.config?

Мое намерение состоит в том, чтобы автоматизировать это как часть процесса сборки nant. Я открыт для предложений, кроме разбора XML

Ответы [ 5 ]

10 голосов
/ 24 марта 2009

Думали ли вы об использовании <xmlpoke>?

<xmlpoke file="${Build.WebConfig}" 
    xpath="/configuration/system.web/compilation/@debug" 
    value="false">
</xmlpoke>

Домашняя страница NAnt

Документация XML Poke

3 голосов
/ 24 марта 2009

Я бы предложил использовать совершенно разные конфигурационные файлы для каждой среды (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 transforms

2 голосов
/ 24 марта 2009

Способ решения этой проблемы заключается в том, что у меня есть отдельные файлы конфигурации для каждой среды развертывания:

  • Производство
  • Балетмейстер
  • Разработка

После «сценария сборки» я копирую файлы конфигурации для типа, который я собираю. Например, в Staging я бы скопировал /configs/staging/*.config в корень сайта. Затем мой сценарий вызовет aspnet_compiler для компиляции приложения.

0 голосов
/ 24 марта 2009

Используя проекты веб-развертывания, вы можете поменять различные разделы вашего web.config после сборки.

0 голосов
/ 24 марта 2009

Я использую этот инструмент как часть моей цепочки сборки. Он позволяет использовать параметры условной конфигурации в одном XML-файле на основе параметров сборки.

http://xmlpreprocess.sourceforge.net/

...