Frage

Ich möchte eine benutzerdefinierte MSBuild-Aufgabe erstellen, die meine CS-Dateien ändert, bevor sie von csc.exe kompiliert werden (aber natürlich, dass sie nicht an Ort und Stelle nicht verändert - ich will nicht unbedingt der Quelldateien berührt) . Ich bin mir bewusst, Postsharp und andere AOP-Frameworks für .NET und sie sind keine Option für dieses Projekt, und ich möchte lernen, wie dies zu tun.

Was genau muss ich tun dies, um zu arbeiten?

Danke Richard

War es hilfreich?

Lösung

Angesichts Ihrer Einschränkungen Ich glaube, Sie folgendes tun:

  1. Erstellen von benutzerdefinierten Aufgabe, die die Liste von cs-Dateien akzeptiert, bevor die Anpassung an Kompilation
  2. Die benutzerdefinierte Aufgabe passt sich die Liste der Dateien empfangen und erzeugt sie auf der Festplatte
  3. Die benutzerdefinierte Task setzt die Liste der geänderten Dateien auf den Ausgabeparameter
  4. Die Ausgabe der Aufgabe, die ursprüngliche cs-Dateien Liste würde ersetzen
  5. Die Zusammenstellung wird gegen die geänderten Dateien durchgeführt.

Der Schritt 4 stellt sicher, dass die Dateien, die schließlich kompiliert werden, diejenigen sind, die durch Ihre individuelle Aufgabe verändert wurden.

Sie verlassen sich stark auf der ITaskItem Schnittstelle für den Job.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top