2010-02-10 12 views
5

Uso VS 2008 per sviluppare e uso CCNet per creare, testare e distribuire le nostre applicazioni su un server di gestione temporanea. Vorrei poter rimuovere l'impostazione debug="true" da web.config come parte del processo di distribuzione.Qual è un buon modo per rimuovere debug = "true" da web.config alla pubblicazione?

So che potrei semplicemente impostare <deployment retail="true"/> in machine.config, ma non ho sempre così tanto accesso ai server che distribuiamo. Potrei semplicemente scrivere un po 'di codice per rimuovere le impostazioni da web.config, ma mi chiedevo se ci fosse un modo per farlo con msbuild o CCNet.

risposta

6

È possibile utilizzare il MSBuild Community Tasks e fare:

<XmlUpdate 
     XmlFileName="web.config" 
     XPath="//configuration/system.web/compilation/@debug" 
     Value="false"/> 

Oppure è possibile utilizzare varie built-in di Visual tecniche Studio di trasformazione:

<configuration xmlns:xdt="...">
<compilation xdt:Transform="RemoveAttributes(debug,batch)">
</compilation>
</configuration>

  • VS2005 e 2008 Web Deployment progetti consentono di sostituire porzioni di un config web (as Paddy linked to)
  • Non certo ma MSDeploy ha una qualche forma di capacità intorno a questo
  • NAnt ha un xmlpoke

NB questo è un duplicato di Setting debug=false in web.config as part of build (che ho trovato troppo tardi; hanno messo un voto per chiudere su questo)

0

La mia soluzione per CCNet con la web.config trasformazione:

<tasks> 
    <msbuild> 
     <executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable> 
     <workingDirectory>E:\VersionesCC\Trunk_4\SBatz\Gertakariak_Orokorrak\GertakariakMS\Web</workingDirectory> 
     <projectFile>GertakariakMSWeb2.vbproj</projectFile> 
     <targets>Build</targets> 
     <timeout>600</timeout> 
     <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger> 
     <buildArgs> 
      /noconsolelogger /p:Configuration=Release /v:diag 
      /p:DeployOnBuild=true 
      /p:AutoParameterizationWebConfigConnectionStrings=false 
      /p:DeployTarget=Package 
      /p:_PackageTempDir=E:\Aplicaciones\GertakariakMS2\Web 
     </buildArgs> 
     </msbuild> 
</tasks> 
Problemi correlati