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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
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;
            }
        }
    }
}
J'ai installé la dll dans mon GAC, pas de problème. Mais pas moyen d'utiliser ma task...
J'ai ajouté
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<UsingTask TaskName="AutoIncrement" AssemblyName="MyAutoIncrement, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4a01faddacb97343" />
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<Target Name="BeforeBuild">
  <AutoIncrement /> 
</Target>
dans le fichier .csproj, mais ca ne marche pas...

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

Merci!