Ich habe eine benutzerdefinierte Aufgabe in C# geschrieben. Für diese benutzerdefinierte Aufgabe ist ein Argument wie folgt definiert:
Code: Select all
public required string[] StringArray { get; set; }
Dann habe ich in einer .csproj-Datei diese Definitionen:
Wenn die Aufgabe nun ausgeführt wird, erwarte ich, dass die Werte „A“, „B“ und „C“ in der Eigenschaft StringArray vorhanden sind und dass die Aufgabe einmal ausgeführt wird. Beim Erstellen des Projekts wird die Aufgabe jedoch für jedes Element in der Elementgruppe aufgerufen und dann nur ein einzelnes Element an die Eigenschaft übergeben. In diesem Beispiel wird die Aufgabe also dreimal ausgeführt, wobei die Werte „A“, „B“ und „C“ separat an jeden Aufgabenaufruf
übergeben werden.
Ich habe versucht, es mit Transformationen richtig hinzubekommen. Wenn ich die Aufgabe so aufrufe:
dann werden alle drei Elemente an die StringArray-Eigenschaft meiner benutzerdefinierten Aufgabe übergeben, was ich möchte. Gibt es eine Möglichkeit, dies zu erreichen? Ich muss die StringElements in einer Elementgruppe haben, wie sie jetzt sind, da sie in dieser Form an anderer Stelle im Erstellungsprozess benötigt werden.