Donnerstag, 20. August 2015

Jenkins und NuGet V3 mit UWP Apps

Während der Umstellung einiger Apps zu Windows 10 Universal Windows Platform Apps (UWP Apps) kam es wie es kommen musste ich habe auch ein UWP App Projekt mit dem Jenkins bauen wollen.

Es blieb relativ lang beim wollen denn der Nuget package restore wollte nicht funktionieren.

Ich erledige das mit dem Restore über das Ausführen einer Windows Batch Datei mit folgendem "langweiligen" Inhalt:

C:/JenkinsRoot/nuget.exe restore "C:/JenkinsRoot/workspace/Windows10/SolutionFolder/Solution.sln"

Das hat bisher immer super funktioniert... bisher.

Bei UWP Apps werden die Abhängigkeiten mit Nuget V3 aufgelöst und damit musste ich in das JenkinsRoot die neue Nuget.exe vom command-line tool legen.

Das führte aber immer zu folgender Ausgabe:
Restoring packages for UAP,Version=v10.0...
Unable to resolve GoogleAnalyticsSDK (= 1.3.0) for UAP,Version=v10.0.
Unable to resolve Microsoft.ApplicationInsights (= 1.0.0) for UAP,Version=v10.0.
Unable to resolve Microsoft.ApplicationInsights.PersistenceChannel (= 1.0.0) for UAP,Version=v10.0.
Unable to resolve Microsoft.ApplicationInsights.WindowsApps (= 1.0.0) for UAP,Version=v10.0.
Unable to resolve Microsoft.NETCore.UniversalWindowsPlatform (= 5.0.0) for UAP,Version=v10.0.
Unable to resolve Newtonsoft.Json (= 7.0.1) for UAP,Version=v10.0.

Was dazu führte, dass der Build mit folgender Meldung fehlschlug:

 C:\Program Files (x86)\MSBuild\Microsoft\NuGet\Microsoft.NuGet.targets(83,5): error : Couldn't find the required information in the lock file. Make sure you have UAP,Version=v10.0.10240/win10-x86 mentioned in your targets.

Wenn ich den gleichen Befehl vom gleichen Verzeichnis aus direkt auf dem Buildserver ausführe geht alles. Irgendwo steckt ein Fehler.

Ich erspare Euch jetzt die zweitausend Versuche die ich unternommen habe um irgend etwas zu ändern und komme gleich zum Ergebnis. Ihr müsst den Jenkins Prozess unter einem "echten" Nutzer laufen lassen. Wie das geht fand ich bei StackOverflow.

Danach läuft alles perfekt und Jenkins ist wieder happy.




Keine Kommentare:

Kommentar posten