<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>CruiseControl.NET</title>
        <link>http://blogs.ugidotnet.org/rgm/category/CruiseControl.NET.aspx</link>
        <description>CruiseControl.NET</description>
        <language>it-IT</language>
        <copyright>Gian Maria  Ricci</copyright>
        <generator>Subtext Version 2.6.0.0</generator>
        <item>
            <title>I suoni per il CC.Tray</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2008/08/08/93657.aspx</link>
            <description>&lt;p&gt;Il Cruise Control .NEt è veramente uno strumento che quando hai messo su la prima volta non ne puoi più fare a meno. Una delle cose che preferisco è che quando uno sviluppatore rompe la build, (ad esempio si scorda di aggiungere con tortoise i nuovi file) subito il cc.tray diventa rosso e segnala il problema. Sono quindi lontani i giorni in cui la mattina fai un update e ti trovi che la soluzione non compila, mancano file o ci sono errori e lo sviluppatore che fatto l'ultimo checkin è andato in ferie proprio quel giorno :D :D &lt;/p&gt;  &lt;p&gt;La cosa più carina è però la possibilità di suonare un file audio se la build si rompe, dopo una piccola ricerca ho trovato in un sito &lt;a href="http://www.nablasoft.com/alkampfer/itablog/glass_shatter2.wav"&gt;questo bellissimo suono&lt;/a&gt; di piatti rotti :D.&lt;/p&gt;  &lt;p&gt;Spesso quando sono in skype la gente mi dice "hey...ti si è rotto un piatto a casa?"&lt;/p&gt;  &lt;p&gt;Naturalmente quando invece la build compila ancora è necessario sentire un &lt;a href="http://www.nablasoft.com/alkampfer/itablog/applause3.wav"&gt;bell'applauso&lt;/a&gt; :D.&lt;/p&gt;  &lt;p&gt;alk.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/93657.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2008/08/08/93657.aspx</guid>
            <pubDate>Fri, 08 Aug 2008 13:51:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2008/08/08/93657.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/93657.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/93657.aspx</trackback:ping>
        </item>
        <item>
            <title>Come mi piace la gestione di siti web del vs 2005</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2007/04/03/74556.aspx</link>
            <description>&lt;p&gt;E stamane sono 3 blog.....è strano da parte mia, ma stamane è cominiciata storta e quando comincia storta nulla va più per il verso giusto. Mi accorgo che il progetto CC.NET non compila più correttamente, vado a vedere gli errori e vedo strani errori che da me in locale non va. &lt;/p&gt; &lt;p&gt;Vado in terminal server nella macchina e mi accorgo che il problema è il subversion, il progetto è un sito web abbastanza grande e per problemi di performance solitamente testiamo i controlli utente in progetti più piccoli suddividendo in sezioni il progetto principale. Il problema è che le reference dei progetti web sono tenuti nella cartella bin e ankh o subversion tendono a metterli nel repository. La situazione attuale è che una dll viene aggiunta nel repository, quando il server fa update trova che la stessa dll è già nella cartella causa compilazione precedente, quindi stoppa l'update dicendo che non può prosegure. &lt;/p&gt; &lt;p&gt;La soluzione è stata aggiungere nello script nant una action che cancella tutte le directory bin dei progetti web prima dell'update, in questo modo l'update non fallisce...vediamo oggi cosa altro può andare storto.&lt;/p&gt; &lt;p&gt;Alk.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/74556.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2007/04/03/74556.aspx</guid>
            <pubDate>Tue, 03 Apr 2007 12:34:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2007/04/03/74556.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/74556.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/74556.aspx</trackback:ping>
        </item>
        <item>
            <title>Cruise Control .NET - Eseguire test Nunit</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2007/01/18/67638.aspx</link>
            <description>In questa sesta parte si esaminerà come eseguire i test NUnit dopo la build del progetto. &lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/67638.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2007/01/18/67638.aspx</guid>
            <pubDate>Thu, 18 Jan 2007 19:46:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2007/01/18/67638.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/67638.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/67638.aspx</trackback:ping>
        </item>
        <item>
            <title>CruiseControl.NET - Riepilogo</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2007/01/11/65933.aspx</link>
            <description>&lt;p&gt;La prossima uscita (spero oggi o cmq al massimo Sabato mattina) riguarderà NANT, e se ce la faccio anche NCOVER. Ho pensato che potrebbe essere interessant dare una riletta alla prima parte (i primi 5 post) rimetterli più in bella forma e poi pubblicarli su DotNetMarche. Mi piaceva per questo sapere quanti sarebbero interessati, perchè se alla fine a nessuno importa perchè i post sul blog sono sufficienti risparmio lavoro &lt;img src="http://www.tuttogratis.it/img/emoticons/_linguaccia.gif"&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Ciao a tutti.&lt;/p&gt; &lt;p&gt;Alk.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/65933.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2007/01/11/65933.aspx</guid>
            <pubDate>Thu, 11 Jan 2007 10:43:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2007/01/11/65933.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/65933.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/65933.aspx</trackback:ping>
        </item>
        <item>
            <title>CruiseControl.NET - Metriche di codice (FxCop)</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2007/01/10/65694.aspx</link>
            <description>In questo sesto intervento si inizia a capire la vera utilità di CC.NET inserendo FxCop come primo tool di metrica nella build automatica.&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/65694.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2007/01/10/65694.aspx</guid>
            <pubDate>Wed, 10 Jan 2007 10:19:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2007/01/10/65694.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/65694.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/65694.aspx</trackback:ping>
        </item>
        <item>
            <title>Esempi per Cruise Control .NET</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2007/01/05/65202.aspx</link>
            <description>&lt;FONT face=Verdana size=2&gt;
&lt;P&gt;Per rendere più concreti gli esempi che faccio per 
CC.NET potete trovare a questo indirizzo le ultime versioni degli script&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: black 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: gainsboro"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;&lt;A href="http://dotnetmarche.googlecode.com/svn/trunk/Alkampfer/CCNetBlogCode"&gt;http://dotnetmarche.googlecode.com/svn/trunk/Alkampfer/CCNetBlogCode&lt;/A&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;/SPAN&gt;
&lt;P&gt;Questo è l'indirzzo del &lt;A title="" href="http://subversion.tigris.org/getting_subversion.html" target=_blank name=""&gt;subversion &lt;/A&gt;di google relativo a dotnetmarche per cui è conveniente 
farne il checkout in locale con il &lt;A title="" href="http://tortoisesvn.tigris.org/" target=_blank name=""&gt;Tortoise&lt;/A&gt;. Se 
qualcuno non volesse istallare il subversion fatemelo sapere, magari creo una 
versione zippata da scaricare direttamente dal sito.&lt;/P&gt;
&lt;P&gt;Alk.&lt;/P&gt;

&lt;/FONT&gt;
&lt;FONT face=Verdana size=2&gt;&lt;P&gt;&lt;A href="http://imhoproject.org/"&gt;&lt;FONT face=Verdana size=1&gt;powered by IMHO 1.3&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;!-- Powered by IMHO 1.3 (EN) Instant Blogger Copyright (c) 2005 A.Boschin - http://www.imhoproject.org --&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/65202.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2007/01/05/65202.aspx</guid>
            <pubDate>Fri, 05 Jan 2007 19:24:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2007/01/05/65202.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/65202.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/65202.aspx</trackback:ping>
        </item>
        <item>
            <title>Cruise Control .NET - Copiare le build nella cartella degli artefatti</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2007/01/03/64724.aspx</link>
            <description>In questo post si conclude la prima parte sul piccolo tutorial relativo al CruiseControl.NET mostrando come copiare le ultime build nella cartella degli artefatti mantenendo nel contempo tutto lo storico delle varie build.&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/64724.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2007/01/03/64724.aspx</guid>
            <pubDate>Wed, 03 Jan 2007 18:59:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2007/01/03/64724.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/64724.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/64724.aspx</trackback:ping>
        </item>
        <item>
            <title>Impostare il numero di versione del progetto</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2006/12/29/63873.aspx</link>
            <description>In questo 4° post su CruiseControl .NET verrà mostrato come generare automaticamente un nuovo numero di versione ad ogni build ed assegnarlo al progetto in maniera automatica.&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/63873.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2006/12/29/63873.aspx</guid>
            <pubDate>Fri, 29 Dec 2006 16:09:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2006/12/29/63873.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/63873.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/63873.aspx</trackback:ping>
        </item>
        <item>
            <title>Cruise Control .NET, La web dashboard</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2006/12/20/60823.aspx</link>
            <description>&lt;FONT face=Verdana size=2&gt;
&lt;P&gt;So che fare due post così vicini tra loro non è 
politicamente corretto&amp;nbsp;:S comunque volevo fare un ulteriore considerazione 
sulla &lt;A title="" href="http://blogs.ugidotnet.org/rgm/archive/2006/12/20/60820.aspx" target=_blank name=""&gt;seconda parte &lt;/A&gt;delle mie impressioni su 
CC.NET.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Se consultate la documentazione di CC.NET trovate sicuramente che nelle 
ultime versioni è stato aggiunto un task particolare per MSBuild, per cui ci si 
chiede "&lt;EM&gt;perchè utilizzare il nant da cui poi non facciamo altro che chiamare 
MSBuild, invece di utilizzare l'appropriato task per MSBuild??". &lt;/EM&gt;Le mie 
ragioni personali sono le seguenti. &lt;/P&gt;
&lt;P&gt;In primo se utilizzo MSBuild come task, poi per coerenza lo dovrei utilizare 
anche per fare altre operazioni tipo copiare file in giro, fare test etc etc, 
per questi task è meglio Nant.&lt;/P&gt;
&lt;P&gt;MSBuild non è presente per Visual Studio 2003, meglio quindi abituarsi ad 
utilizare il task del NANT, se abbiamo una soluzione di VS2005 utilizziamo 
MSBuild altrimenti utilizziamo il suo task &lt;A title="" href="http://nant.sourceforge.net/release/0.85-rc1/help/tasks/solution.html" target=_blank name=""&gt;&amp;lt;solution&amp;gt;&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Stranamente l'output del WebDashboard mi sembra migliore nel caso di NANT. 
Prima di spiegare cosa è e come funziona il Dashboard, bisogna sapere che i vari 
tool producono output che deve essere preso da CC.NET per essere mostrato 
all'utente in modo da far vedere cosa sta succedendo nelle varie build. MSBuild 
non emette di suo output XML, per cui il suo output non può essere consumato da 
CC.NET che vuole solamente XML come output. Per questo sono stati fatti &lt;A title="" href="http://ccnetlive.thoughtworks.com/MSBuildXmlLogger-Builds/" target=_blank name=""&gt;formatter appositi&lt;/A&gt; su cui potete anche trovare &lt;A title="" href="http://confluence.public.thoughtworks.org/display/CCNET/Using+CruiseControl.NET+with+MSBuild" target=_blank name=""&gt;ulteriori informazioni&lt;/A&gt;. Il task risultante nel mio 
caso è questo.&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: black 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: gainsboro"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;msbuild&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;executable&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;E:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;executable&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;workingDirectory&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;F:\Dati\Tutorials\Tutorials\CCNET\projects\CCNetTest\WorkingFolder\TestProject1&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;workingDirectory&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;projectFile&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;TestProject1.sln&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;projectFile&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;buildArgs&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;/T:rebuild&amp;nbsp;/p:Configuration=Debug&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;buildArgs&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;targets&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;Build&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;targets&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;timeout&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;15&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;timeout&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;logger&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;E:\Program&amp;nbsp;Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;logger&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;msbuild&amp;gt;&lt;BR&gt;&lt;/DIV&gt;&lt;/SPAN&gt;
&lt;P&gt;Come vedete ho specificato nel logger la dll che esegue la formattazione, 
nonostante quseto nel webdashboard non vedo gli warning di compilazione &lt;IMG height=19 src="http://www.imhoproject.org/files/arrabbiato.gif" width=19 align=absMiddle border=0&gt;&amp;nbsp;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: black 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: gainsboro"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;BUILD&amp;nbsp;SUCCESSFUL&amp;nbsp;&lt;BR&gt;Project:&amp;nbsp;&amp;nbsp;CCNetTest&amp;nbsp;&lt;BR&gt;Date&amp;nbsp;of&amp;nbsp;build:&amp;nbsp;&amp;nbsp;20/12/2006&amp;nbsp;9.57.01&amp;nbsp;&lt;BR&gt;Running&amp;nbsp;time:&amp;nbsp;&amp;nbsp;00:00:05&amp;nbsp;&lt;BR&gt;Integration&amp;nbsp;Request:&amp;nbsp;&amp;nbsp;continuous&amp;nbsp;triggered&amp;nbsp;a&amp;nbsp;build&amp;nbsp;(IfModificationExists)&amp;nbsp;&lt;BR&gt;Last&amp;nbsp;changed:&amp;nbsp;&amp;nbsp;2006-12-20&amp;nbsp;09.56.49&amp;nbsp;&lt;BR&gt;Last&amp;nbsp;log&amp;nbsp;entry:&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;BR&gt;Modifications&amp;nbsp;since&amp;nbsp;last&amp;nbsp;build&amp;nbsp;(1)&amp;nbsp;&amp;nbsp;&lt;BR&gt;Modified&amp;nbsp;CCNET&amp;nbsp;/trunk/TestProject1/TestProject1/Class1.cs&amp;nbsp;&amp;nbsp;2006-12-20&amp;nbsp;09.56.49&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;/DIV&gt;&lt;/SPAN&gt;
    &lt;P&gt;&lt;/P&gt;
&lt;P&gt;Se invece si lancia MSBuild internamente a NAnt, nant 
prende tutto l'output di MSBuild, lo mette in un CDATA section del suo output 
file e CC.NET riesce a trovare gli warning.&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: black 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: gainsboro"&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;BUILD&amp;nbsp;SUCCESSFUL&amp;nbsp;&lt;BR&gt;Project:&amp;nbsp;&amp;nbsp;CCNetTest&amp;nbsp;&lt;BR&gt;Date&amp;nbsp;of&amp;nbsp;build:&amp;nbsp;&amp;nbsp;20/12/2006&amp;nbsp;9.59.14&amp;nbsp;&lt;BR&gt;Running&amp;nbsp;time:&amp;nbsp;&amp;nbsp;00:00:07&amp;nbsp;&lt;BR&gt;Integration&amp;nbsp;Request:&amp;nbsp;&amp;nbsp;continuous&amp;nbsp;triggered&amp;nbsp;a&amp;nbsp;build&amp;nbsp;(IfModificationExists)&amp;nbsp;&lt;BR&gt;Last&amp;nbsp;changed:&amp;nbsp;&amp;nbsp;2006-12-20&amp;nbsp;09.58.48&amp;nbsp;&lt;BR&gt;Last&amp;nbsp;log&amp;nbsp;entry:&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;BR&gt;Modifications&amp;nbsp;since&amp;nbsp;last&amp;nbsp;build&amp;nbsp;(1)&amp;nbsp;&amp;nbsp;&lt;BR&gt;Modified&amp;nbsp;CCNET&amp;nbsp;/trunk/TestProject1/TestProject1/Class1.cs&amp;nbsp;&amp;nbsp;2006-12-20&amp;nbsp;09.58.48&amp;nbsp;&lt;BR&gt;&lt;BR&gt;Warnings:&amp;nbsp;(2)&amp;nbsp;&amp;nbsp;&lt;BR&gt;Class1.cs(10,10):&amp;nbsp;warning&amp;nbsp;CS0219:&amp;nbsp;The&amp;nbsp;variable&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff00ff; FONT-FAMILY: Courier New"&gt;'other'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;is&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;assigned&amp;nbsp;but&amp;nbsp;its&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;value&amp;nbsp;is&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;never&amp;nbsp;used&lt;BR&gt;Class1.cs(10,10):&amp;nbsp;warning&amp;nbsp;CS0219:&amp;nbsp;The&amp;nbsp;variable&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff00ff; FONT-FAMILY: Courier New"&gt;'other'&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;is&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;assigned&amp;nbsp;but&amp;nbsp;its&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;value&amp;nbsp;is&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;never&amp;nbsp;used&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&lt;/DIV&gt;&lt;/SPAN&gt;
&lt;P&gt;Per questa ulteriore ragione ho preferito mostrare come lanciare msbuild 
direttamente da uno script NANT.&lt;/P&gt;
&lt;P&gt;Alk.&lt;/P&gt;
&lt;P&gt;

&lt;/FONT&gt;
&lt;FONT face=Verdana size=2&gt;&lt;A href="http://imhoproject.org/"&gt;&lt;FONT face=Verdana size=1&gt;powered by IMHO 1.3&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;!-- Powered by IMHO 1.3 (EN) Instant Blogger Copyright (c) 2005 A.Boschin - http://www.imhoproject.org --&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/60823.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2006/12/20/60823.aspx</guid>
            <pubDate>Wed, 20 Dec 2006 11:13:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2006/12/20/60823.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/60823.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/60823.aspx</trackback:ping>
        </item>
        <item>
            <title>Cruise Control .NET - La prima build</title>
            <link>http://blogs.ugidotnet.org/rgm/archive/2006/12/20/60820.aspx</link>
            <description>&lt;FONT face=Verdana size=2&gt;
&lt;P&gt;Nella speranza che qualcuno sia interessato alle mie 
esperienze in CC.NET oggi posto subito questa seconda parte. Nella &lt;A title="" href="http://blogs.ugidotnet.org/rgm/archive/2006/12/19/60655.aspx" target=_blank name=""&gt;prima parte &lt;/A&gt;si è visto come istallare e configurare il 
CC.NET affinchè punti ad un repository subversion e faccia sempre il getlatest 
ad ogni nuova modifica. Oggi viene il momento di capire come fare un build.&lt;/P&gt;
&lt;P&gt;LA mia esperienza personale è questa, dopo avere passato un 20 min in rete a 
documentarmi ho deciso di utilizzare &lt;A title="" href="http://nant.sourceforge.net/" target=_blank name=""&gt;Nant&lt;/A&gt;. Si potrebbe 
anche utilizzare MSBuild, ma purtroppo non esiste in visual studio 2003, le cui 
solution possono invece essere buildate direttamente da Nant, ed inoltre si può 
comunque lanciare MSBuild direttamente da Nant.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Passo1&lt;/STRONG&gt;: la prima cosa da fare è capire come&amp;nbsp;fare il 
build di una solution&amp;nbsp;Visual&amp;nbsp;Studio 2005&amp;nbsp;con MSBuild, la riga di 
comando è questa.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;msbuild 
F:\Dati\Tutorials\Tutorials\CCNET\projects\CCNetTest\WorkingFolder\TestProject1\TestProject1.sln 
/T:rebuild /p:Configuration=Debug&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Come si può vedere basta specificare la solution, il parametro T con cui si 
chiede un rebuild ed infine la configurazione che in questo caso è quella di 
debug.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Passo2&lt;/STRONG&gt;: Ora che sappiamo come utilizzare msbuild per 
effettuare una build bisogna capire come lanciarlo da uno script Nant. Premetto 
che non ho mai utilizzato Nant e per questo la soluzione che posto è quella che 
mi è venuta in mente per prima &lt;IMG height=19 src="http://www.imhoproject.org/files/complice.gif" width=19 align=absMiddle border=0&gt;. Il primo passo è scaricare il Nant e mettere 
il tutto direttamente nella cartella di subversion dove sono i sorgenti. Questa 
è infatti una best practice, tenere gli strumenti di build assieme ai sorgenti. 
A questo punto bisogna creare un file di build per il nant, lo ho creato nella 
stessa cartella della solution è lo ho chiamato 
&lt;STRONG&gt;TestProject.build&lt;/STRONG&gt;.&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: black 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: gainsboro"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;?xml&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;version&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="1.0"?&amp;gt;&lt;BR&gt;&amp;lt;project&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="TestProject1"&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;default&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="MSBuild"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;property&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="projectdir"&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;value&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="F:\Dati\Tutorials\Tutorials\CCNET\projects\CCNetTest\WorkingFolder\TestProject1"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;property&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="MSBuildDir"&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;value&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="E:\WINDOWS\Microsoft.NET\Framework\v2.0.50727"&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;target&amp;nbsp;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="MSBuild"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;exec&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;program&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="${MSBuildDir}\msbuild.exe"&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;commandline&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="&amp;nbsp;${projectdir}\TestProject1.sln&amp;nbsp;/T:rebuild&amp;nbsp;/p:Configuration=Debug"&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;basedir&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="."&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;target&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;project&amp;gt;&lt;BR&gt;&lt;/DIV&gt;&lt;/SPAN&gt;
&lt;P&gt;Attendo i commenti di chi conosce veramente il Nant. Una breve spiegazione la 
posso dare anche subito, un file build è un file XML con un funzionamento simile 
a quello dei makefile con cui si compilavano i programmi C/C++. Iniziamo a 
definire un nodo progetto, in cui specifichiamo il task di default. Internamente 
con il tag property si mettono delle variabili, quel tanto che basta per rendere 
lo script più comprensibile. A questo punto il tag target permette di 
specificare le attività da fare, inizialmente ne ho messa una chiamata MSBuild, 
il cui unico task è lanciare con il tag exec la compilazione tramite MSBuild. A 
questo punto bisogna testare lo script con il Nant&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;NAnt.exe 
-buildfile:F:\Dati\Tutorials\Tutorials\CCNET\projects\CCNetTest\WorkingFolder\TestProject1\TestProject1.build&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Una volta che si è verificato che tutto è ok si può andare a modificare il 
file di configurazione principale di CC.NET aggiungendo un nuovo task.&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: black 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: black 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: black 1px solid; BACKGROUND-COLOR: gainsboro"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;cruisecontrol&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;project&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;name&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;="CCNetTest"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;...Questa&amp;nbsp;parte&amp;nbsp;è&amp;nbsp;come&amp;nbsp;nell'esempio&amp;nbsp;precedente.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;tasks&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;nant&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;executable&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;F:\Dati\Tutorials\Tutorials\CCNET\projects\CCNetTest\WorkingFolder\BuildTools\nant-0.85\bin\nant.exe&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;executable&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;buildFile&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;F:\Dati\Tutorials\Tutorials\CCNET\projects\CCNetTest\WorkingFolder\TestProject1\TestProject1.build&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;buildFile&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;targetList&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;target&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #000000; FONT-FAMILY: Courier New"&gt;MSBuild&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #ff0000; FONT-FAMILY: Courier New"&gt;target&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;targetList&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;nant&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;tasks&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;project&amp;gt;&lt;BR&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #8b0000; FONT-FAMILY: Courier New"&gt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: #0000ff; FONT-FAMILY: Courier New"&gt;cruisecontrol&amp;gt;&lt;BR&gt;&lt;/DIV&gt;&lt;/SPAN&gt;
&lt;P&gt;Come potete vedere si è aggiunto un nodo tasks, in cui specifichiamo un task 
di tipo nant, di seguito specifichiamo dove abbiamo messo gli eseguibili, che 
come potete vedere si trovano nel subversion assieme ai sorgenti, si specifica 
quale è il file di build ed infine si mette la lista dei target, nel nostro caso 
solamente MSBuild.&lt;/P&gt;
&lt;P&gt;A questo punto potete provare a modificare un file sorgente, fare il check in 
e vedrete al prossimo controllo il vostro progetto automaticamente compilato. 
Con questo primo step avete il vostro primo sistema di Continuos Integration, 
anche se la vera potenza di CC.NET deve ancora essere utilizzata.&lt;/P&gt;
&lt;P&gt;Alk.&lt;/P&gt;

&lt;/FONT&gt;
&lt;FONT face=Verdana size=2&gt;&lt;P&gt;&lt;A href="http://imhoproject.org/"&gt;&lt;FONT face=Verdana size=1&gt;powered by IMHO 1.3&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;!-- Powered by IMHO 1.3 (EN) Instant Blogger Copyright (c) 2005 A.Boschin - http://www.imhoproject.org --&gt;&lt;img src="http://blogs.ugidotnet.org/rgm/aggbug/60820.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Gian Maria  Ricci</dc:creator>
            <guid>http://blogs.ugidotnet.org/rgm/archive/2006/12/20/60820.aspx</guid>
            <pubDate>Wed, 20 Dec 2006 10:42:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/rgm/archive/2006/12/20/60820.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/rgm/comments/commentRss/60820.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/rgm/services/trackbacks/60820.aspx</trackback:ping>
        </item>
    </channel>
</rss>