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.




Mittwoch, 5. August 2015

Blend Behavior SDK für Windows 10 UWP Apps verwenden

Da ich schon einige Apps von Windows 8 und Windows Universal auf Windows 10 "Universal Windows Plattform - UWP" App migrieren durfte kam ich auch schon an die Stelle, dass mir das Behaviors SDk fehlte.



Ich nutze das in einigen Apps z.B. um mit den EventTriggerBehavior und der InvokeCommandAction im Xaml Commands auf Events zu binden.

Es ist also nicht gerade trivial das in einer großen App wie der Windows Phoen App von Marktjagd nebenher bei der Migration zu ersetzen. Das ist auch gar nicht notwendig denn in UWP Apps können Libraries von Windows 8.1 weiterverwendet werde. also einfach das "alte" Behaviors SDk einbinden und alles ist gut. Dazu einfach auf  "References" einen Rechtsklick dann "Add reference" auswählen und dann zwei mal "Browse" auswählen.

Anschließend zu folgenden Pfad navigieren:

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1\ExtensionSDKs\BehaviorsXamlSDKManaged\12.0\References\CommonConfiguration\Neutral



Auf die Lösung bin ich gekommen durch einen Thread im MSDN Forum gekommen. 


Problem mit der Installation von *.vsix Dateien nach der Installation von Visual Stuido 2015

Nachdem ich bei mir auf dem Arbeitsrechner das Upgrade zu Windows 10 durchgeführt habe und Visual Studio 2015 installiert habe konnte ich die SQLite Extension für Windows UAP Apps nicht mehr installieren.

Erster Versuch war es eine andere Version also die sqlite-uap-3081101.vsix zu finden und zu installieren. Geht nicht.

Zweiter versuch war den Installer (VSIXinstaller.exe) direkt von  \Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE auszuwählen. Hat auch nichts gebracht.

Dann dachte ich okay vielleicht hat es etwas mit SQLite zu tun und habe die bereits bestehenden Extensions für Windows Phone und Windows RT deinstalliert. Einzige Änderung war, dass ich jetzt mehr Druck hatte denn nun ging nichts mehr.

Jetzt habe ich bei meiner Suche ein Issue bei Github gefunden was mich tatsächlich auf die Lösung gebracht hat.

visual Studio 2015 hat bei der Installation unter \Users\ neben dem Ordner
\Users\Alexander Witkowski\ noch einen weiteren Ordner
\Users\alexander%20Witkowski\ angelegt.

Mal abgesehen davon, dass ich den User mit leerzeihen doof finde aber das kam vom Admin liegt hier das Problem. Nach dem ich meinem User Zugriff zu dem Alexander%20Witkowski-Ordner gegeben habe funktionierte die Installation von .vsix-Datein wieder ohne Probleme per Doppelklick.

Also falls Ihr auch Probleme bei der Installation von Visual Stuido Extensions habt schaut ob ihr einen zweiter Userordner habt. In dem liegen dann auch die VSIX-LogDatein.