Créer une tâche personnalisée MSBuild pour modifier le code C # * avant * la compilation
-
03-07-2019 - |
Question
Je souhaite créer une tâche MSBuild personnalisée qui modifie mes fichiers .cs avant qu'ils ne soient compilés par csc.exe (mais, bien sûr, cela ne les modifie pas sur place - je ne veux pas que les fichiers source soient modifiés) . Je connais PostSharp et d’autres frameworks AOP pour .NET et ils ne sont pas une option pour ce projet. Je voudrais aussi apprendre à le faire.
Que dois-je faire précisément pour que cela fonctionne?
Merci Richard
La solution
Compte tenu de vos restrictions, je pense que vous pouvez effectuer les opérations suivantes:
- Créer une tâche personnalisée qui accepte la liste des fichiers cs à adapter avant la compilation
- La tâche personnalisée adapte la liste des fichiers reçus et les crée sur le disque
- La tâche personnalisée définit la liste des fichiers modifiés sur le paramètre de sortie
- La sortie de la tâche remplacerait la liste de fichiers cs d'origine
- La compilation est effectuée sur les fichiers modifiés.
L'étape 4 garantit que les fichiers finalement compilés sont ceux qui ont été modifiés par votre tâche personnalisée.
Vous comptez beaucoup sur le ITaskItem interface pour le travail.