Ich habe die Designanleitung hier hier und < a href="https://blogs.infosupport.com/custom-build-tasks-in-tfs-2015/"> hier , aber ich erhalte immer wieder diesen PowerShell-Fehler:
Befehl kann aufgrund eines oder mehrerer fehlender obligatorischer Parameter nicht verarbeitet werden: SourcePath FilePattern BuildRegex.
Die relevanten Konfigurationsdaten finden Sie unten.
Ich habe überprüft und überprüft, ob die Variablen in meiner task.json
-Datei vorhanden sind. Ich habe auch die Konfiguration für andere Arbeitsaufgaben (z. B. VSBuild) angeschaut und es gibt keinen signifikanten Unterschied in der Variablendeklaration und PowerShell-Ausführungssyntax.
Was könnte hier schiefgehen? Das ist eine sehr einfache Architektur - es gibt nicht viel zu brechen. Aber offensichtlich hat etwas genau das getan.
Von task.json
:
Von VersionAssembly.ps1
:
Anscheinend habe ich nicht genau genug verfolgt ... Ich habe die Warnung auf dieser Seite verpasst :
Warnung
Aufgaben können versioniert werden, nutzen Sie dies zu Ihrem Vorteil. Alle Builddefinitionen verwenden die neueste verfügbare Version einer bestimmten Aufgabe. Sie können dieses Verhalten nicht über die Webschnittstelle ändern. Nehmen Sie daher immer an, dass die neueste Version verwendet wird.
Wenn Sie die Versionsnummer Ihrer Aufgabe bei der Aktualisierung nicht ändern, laden die Buildagenten, die Ihre Aufgabe zuvor verwendet haben, die neuere Version nicht herunter, da die Versionsnummer immer noch dieselbe ist. Das heißt, wenn Sie das Verhalten Ihrer Aufgabe ändern, sollten Sie immer die Versionsnummer aktualisieren!
Sobald ich das alles ausgeräumt habe, hat alles gut funktioniert.
Möglicherweise sind die Beispiele, die Eingaben in der Parameter-Sektion akzeptieren, veraltet. Es scheint, dass Sie jetzt die Befehle Vsts-task-lib aus Ihrem PowerShell-Skript verwenden müssen, um die Eingabeparameter zu erhalten .
%Vor%Tags und Links tfs powershell tfsbuild tfs2015