Domanda

Ho un semplice sito Web ASP.NET MVC. Ha le modalità di configurazione Debug, Test e Release.

Stiamo usando TFS come controllo del codice sorgente e tracciamento dei bug, ecc. Bello.

Ora, stiamo per iniziare a utilizzare Team Builds per automatizzare un po 'di integrazione continua. Il fatto è che non siamo sicuri di come farlo in modo che se vogliamo creare una build DEBUG o una build RELEASE, anche il file web.config corretto viene inserito nella directory di destinazione. Inoltre, abbiamo alcune sezioni del file web.config estratte in file separati (ad es. La sezione della stringa di connessione o la sezione della chiave della macchina, ecc.). I file di ambiente corretti possono essere inseriti correttamente nella directory di destinazione.

È stato utile?

Soluzione

Potresti fare un pre- costruire passo

Supponi di aver effettuato il check-in

  • /Debug.Web.Config
  • /Release.Web.Config

È possibile scrivere un passaggio di pre-build per verificare il tipo di build e copiare il file .config corretto in

  • /Web.Config

Qualcosa di simile

cp $(ConfigurationName).Web.Config $(TargetDir)

In una nota a margine, ASP.net 4.0 avrà il supporto per più Web.Configs

http://weblogs.asp.net/gunnarpeipman/archive/2009/06/03/visual-studio-2010-multiple-web-config-versions.aspx

Altri suggerimenti

Per inciso, l'utilizzo di un passaggio pre-build o post-build non funzionerà con Team Foundation Server. Configura automaticamente la sicurezza nella directory di compilazione per impedire che vengano apportate modifiche ai file di configurazione durante il processo di compilazione, sia come eventi pre-build che come eventi post-build. L'unico risultato dell'uso di cp è di restituire un " Accesso negato " di errore.

Guarda le trasformazioni di configurazione. http://msdn.microsoft.com/en-us/library/dd465326.aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top