Création de Task executé avant la compliation.

Signaler
Messages postés
14
Date d'inscription
mardi 26 août 2003
Statut
Membre
Dernière intervention
25 mai 2009
-
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
-
Bonjour,


Je souhaite executer des tâches persos avant où après la compilation
d'un projet. Exemple d'application : J'auto-incrémente la version du
projet à chaque complilation, donc j'écris dans le AssemblyInfo.cs


Pour ça, j'ai crée une bibliothèque de classes, avec une class qui dérive de Task.
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Build.Utilities;
using System.IO;

namespace MyAutoIncrement
{
public class AutoIncrement : Task
{
public override bool Execute()
{
try
{
return WriteText();
}
catch (Exception)
{
return false;
}
}
private bool WriteText()
{
try
{
using (StreamWriter sw = new StreamWriter("C:\test.txt"))
{
sw.Write("The date is: ");
sw.WriteLine(DateTime.Now);
}
return true;
}
catch (Exception)
{
return false;
}
}
}
}

<!-- END TEMPLATE: bbcode_code -->J'ai installé la dll dans mon GAC, pas de problème. Mais pas moyen d'utiliser ma task...

J'ai ajouté
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

<!-- END TEMPLATE: bbcode_code -->et
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :
<Target Name="BeforeBuild">

</Target>

<!-- END TEMPLATE: bbcode_code -->dans le fichier .csproj, mais ca ne marche pas...

J'ai également essayé de pas mettre mon assembly dans le GAC, et mettre la dll directement dans le projet.
J'ai alors fait directement

Code :

<!-- END TEMPLATE: bbcode_code -->Mais pareil, ca ne marche pas....


Quelqu'un aurait une idée de ce que j'ai mal fait? ou loupé?


Merci!

Mathieu

1 réponse

Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
20
salut,

est-ce que ton UsingTask se trouve bien juste après le Project et que ton Target est bien après Import ? éventuellement, tu peux mettre BuildTasks à la place de
MyAutoIncrement ?

ShareVB