domenica 30 giugno 2013

.NET- Eseguire un task alla compilazione di un progetto

Richiamare un task, di una Dll esterna, all'atto di compilazione dei un progetto .NET in visual Studio è una cosa abbastanza semplice. In particolare, la scorsa settimana, mi sono dovuto informare su questo argomento perché volevo lanciare la minificazione di tutti i file javascript del progetto, a compilazione avvenuta.
Siccome non ero sicuro di quali librerie usare per la minificazione,  tra YUI Compressor di Yahoo e quelle delle Ajax Minification o quello che verrà, ho pensato di creare un mio task, che al momento usa le librerie della YUI ma in futuro potrebbe cambiare. Questa "Black Box" viene richiamata, all'atto della compilazione dei miei progetti Web.

Step 1 - Creazione task
  1. Create un nuovo progetto "Class Library" in Visual Studio.
  2. Create il vostro Task:

    public class MyTask : Microsoft.Build.Utilities.Task
        {
          
            public override bool Execute()
            {
               
                /* Do Something */
    
                return true;
            }
        }
  3. Compilate.

Step 2 - Lanciare i Task dopo ogni compilazione
  1. Create un progetto "Web Application"
  2. Tasto Destro del mouse sul progetto
  3. Selezionate "Unload Project"

  4. Tasto Destro del mouse sul progetto 
  5. Selezionare "Edit [Nomeprogetto].csproj"

  6. Inserire queste righe nel file di progetto, avendo cura di sostituire "MyTaskNameSpace" con il namespace del task e "c:\temp\MyTaskNameSpace.dll" con il path corretto della vostra dll :

    <UsingTask TaskName="MyTaskNameSpace.MyTask" AssemblyFile="c:\temp\MyTaskNameSpace.dll">
    </UsingTask>
    <Target Name="AfterBuild">
          <MyTask>
          </MyTask>
    </Target>
  7. Compilate.



Nessun commento:

Posta un commento