2016-06-29 10 views
0

Ich versuche ein nugget-Paket über Jenkins zu erstellen.Nuget verrückt geworden?

Es ist eine parametrisierte bauen, das den folgenden Befehl verwendet das Paket zu erstellen:

"C:\Program Files (x86)\MSBuild\nuget.exe" pack "C:\Program Files (x86)\Jenkins\workspace\Common.Extensions\Common.Extensions.csproj" -Properties Configuration=Release -Version 1.2.3 -IncludeReferencedProjects 

Leider diese Fehler aus mit einem „Ungültige Argumente“ Fehler.

Ich konnte keine Argumentfehler finden, also habe ich angefangen, die Optionen einzeln nacheinander zu entfernen. Sobald ich die Optionen 'IncludeReferencedProjects' und 'Version' entfernt habe, wird das nugget-Paket korrekt erstellt.

Hier ist der seltsame Teil, ich habe dann die Optionen einzeln nacheinander eingeführt (nicht durch erneutes Eintippen, nur indem ich in meine Befehlshistorie zurückgreife und zuvor fehlgeschlagene Befehle erneut ausführen) und die nuget-Pakete erstellen fein.

Ich bin bei meinem Verstand Ende. Wie kann ein Befehl beim ersten Empfang eines Befehls fehlschlagen, nur um später mit demselben Befehl erfolgreich zu sein?

I nuget 3.4.4

EDIT

Eigentlich bin mit ich war falsch über die Abfolge der Ereignisse. Wenn ich die letzten beiden Optionen entferne, beginnt es zu arbeiten. Wenn ich dann den Versionsparameter erneut eingabe, funktioniert es. Wenn ich in der Historie nach oben navigiere und den exakt gleichen Befehl ausführe (ich habe notepad ++ compare tool verwendet, um sicherzustellen, dass ich den gleichen Befehl ausführe), der aus dem Befehlsverlauf übernommen wurde, funktioniert es nicht. Die beiden Befehle sind identisch! Wie kann man arbeiten und das andere nicht? Hand eingegeben wird

enter image description here

Der erste Befehl

:

bearbeiten 2

ich einen Screenshot unten bin hinzugefügt, weil dies so seltsam ist glaube ich offensichtlich etwas fehlt werden muss. Wie Sie sehen können, funktioniert es. Der zweite Befehl wird aus der Zwischenablage aus der Konsolenausgabe von jenkins übernommen und schlägt fehl.

Antwort

0

Ok, so für die Vernunft der zukünftigen Entwickler hier ist, was sich als das Problem herausgestellt: Zeichencodierung!

Das einzige, was mir einfällt, könnte erklären, dass ein Charakter für mich wie ein gültiger Charakter aussehen muss, aber nicht wirklich ascii ist.

So fand ich ein Plugin für Notepad ++ namens TextFX, das eine Möglichkeit hat, Text in Hex-16 zu konvertieren. Also nahm ich den Befehl, der nicht funktionierte, steckte ihn in eine neue Datei und fügte dann die handgeschriebene Version ein, die funktionierte und beide in Hex-16 umwandelte.

Es stellte sich heraus, dass der Bindestrich "-" kein Standard-ASCII-Bindestrich war. Ich kopierte die Optionen von irgendwo im Netz, das eine Unicode-Codierung verwendet haben muss, und sie wählten einige seltsame Bindestrich-Ähnlichkeiten, anstatt den regulären Bindestrich zu verwenden.

Nachdem ich die Bindestriche als Standard ascii wieder eingegeben habe, kehrte mein jenkins Build in einen funktionalen Zustand zurück.