Tutorials

 Im Laufe der Zeit bin ich auf viele kleine und größere Problemstellungen gestoßen, welche gelöst werden konnten.

Damit anderen diverse Fallstricke erspart bleiben hier nun ein paar Tutorials zu den entsprechenden Themen.

Übersicht

  • Resume nach FilePicker oder anderer Activity in Xamarin.Forms

    Unter Android bin ich auf folgendes Problem gestoßen, welches unter Xamarin Forms dessen Ursache anfangs für mich nicht gleich ersichtlich war:

     

    Um genau zu sein verwendete ich den CrossFilePicker um den User ein File aussuchen zu lassen. Danach wurden die Daten aus dem File erfolgreich geladen oder gespeichert und ein Success oder Error Dialog via UserDialogs angezeigt.

    Allerdings wurde der Dialog danach oft einfach nicht angezeigt oder die App zeigte ein recht eigenwilliges Verhalten (als würde eine Exception irgendwo geschluckt). Als ich dann vom Emulator und ohne Breakpoints das ganze auf meinem Handy startete bekamm ich doch einaml folgende Fehlermeldung:

    -
    -
    17.09.2017 15:52 - stefan
  • OutlookPlugin veröffentlichen - SignTool Fehler

    Hier nun noch ein kurioser Fehler aus der Kategorie "Outlook-Plugin-Entwicklung":

    Wenn man den Source brav in ein SourceCode Repository wie VSTS eincheckt, funktioniert das wunderbar - aber er checkt nicht immer die Signierungszertifikate ein.

    Das ist ja so kein Problem, weil man ja jederzeit in den Properties des Projektes ein neues erstellen kann - aber irgendwann später bekommt man dann ggf. einen Fehler zu sehen - nämlich beim Veröffentlichen des Projektes.

    Das schaut in etwa so aus:


    2>------ Veröffentlichungsvorgang gestartet: Projekt: ...., Konfiguration: Release Any CPU ------
    2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0\OfficeTools
    \Microsoft.VisualStudio.Tools.Office.targets(609,9):
    error MSB3482: Fehler beim Signieren: Fehler beim Signieren von
      "bin\Release\app.publish\\setup.exe". SignTool Error: Invalid option: /fd

    Fehler: Veröffentlichen nicht möglich, da ein Projekt nicht erstellt werden konnte.
    ========== Erstellen: 1 erfolgreich, 0 fehlerhaft, 1 aktuell, 0 übersprungen ==========
    ========== Veröffentlichung: 0 erfolgreich, 1 Fehler, 0 übersprungen ==========

     

    Denn - wie es scheint - verwendet Visual Studio zum veröffentlichen des Outlook-Plugin's eine veraltete Version vom SignTool und das unterstützt weder SHA256 Zertifikate (wie sie derzeit vom VS 2017 per default erstellt werden) - noch den switch /fd.

     

    Leider konnte ich auf die schnelle nicht herausfinden wie man dies in der ToolChain umkonfiguriert, aber da es sich um ein internes Projekt handelt reicht es völlig beim erstellen des TestZertifikates darauf zu achten SHA1 als Signaturalgorithmus auszuwählen.

    -
    -
    10.07.2017 13:25 - stefan
  • Outlook Ribbon - Buttons verschwinden

    Ich baue seit neuestem an einem Outlook-AddIn für die direkte Anbindung an Visual Studio Team Services, damit Supportanfragen die per Mail hereinkommen - schnell unkompliziert und vor Allem ohne Informationsverlust - einfach direkt in ein WorkItem verarbeitet werden können - um die Verarbeitung dort zu tracken.

    Dabei bin ich auf ein interessantes Phänomen gestoßen, welches bedingt durch einen dynamischen Ribbon-Aufbau auftritt.

    Wenn man den Buttons/ keinen Namen gibt schauen die Buttons beim 2. Aufbau leer aus.

    Die Buttons sind zwar da aber leer (das graues Kästchen deutet einen leeren Button an).

     

    Sobald die Name-Property auf allen Controls befüllt ist (natürlich eindeutig) funktioniert alles reibungslos.

    -
    -
    18.06.2017 21:50 - stefan
  • Nuget Caches löschen

    Vor kurzem hatte ich das Problem, dass mein Notebook - während eines NuGet updates - meinte wegen zu wenig Akku herunterzufahren...

     

    Die Folge war ein  halb heruntergeladenenes Package im Cache - genauer gesagt Xamarin.Forms - weches weiter zur Folge hatte, dass sich meine Xamarin.Forms

    Projekte nicht Builden liesen. Stattdessen bekam ich lange NugetPackege Fehlermeldungen in mein Outputfenster...

    Die Lösung ist aber recht einfach:

    1. Alle Visual Studio Instanzen beenden (damit alle File-Locks weg sind)
    2. Ein neues VS oder die VS Developer Console aufmachen
    3. den Befehl "nuget locals all -clear" ausführen.

    Die Ausgabe sollte dann in etwa so aussehen:

    PM> nuget locals all -clear
    Clearing NuGet HTTP cache: C:\Users\user\AppData\Local\NuGet\v3-cache
    Clearing NuGet cache: C:\Users\user\AppData\Local\NuGet\Cache
    Clearing NuGet global packages cache: C:\Users\user\.nuget\packages\
    Local resources cleared.

     

    Wenn noch Fehler offen bleiben wie hier - so ist noch irgendein File lock vorhanden (durch ein Studio oder anderes laufendes Programm)

    PM> nuget locals all -clear
    Clearing NuGet HTTP cache: C:\Users\user\AppData\Local\NuGet\v3-cache
    Clearing NuGet cache: C:\Users\user\AppData\Local\NuGet\Cache
    Clearing NuGet global packages cache: C:\Users\user\.nuget\packages\
    WARNUNG: Local resources partially cleared.
    WARNUNG: Failed to delete 'C:\Users\user\.nuget\packages\'.
    WARNUNG: Failed to delete 'C:\Users\user\.nuget\packages\xamarin.forms\2.3.4.224\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20\Xamarin.Forms.Build.Tasks.dll'.
    nuget : Clearing local resources failed: one or more errors occured.
    In Zeile:1 Zeichen:1
    + nuget locals all -clear
    + ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (Clearing local ...errors occured.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

     

     

    -
    -
    19.05.2017 15:29 - stefan
  • Atmel Studio - Spell Checking

    Ich habe seit langem wieder einmal meine Atmel-Microcontroller herausgeholt um wieder an meinen Basteleien weiter zu machen und verwende hier nun das Atmel Studio für die Entwicklung in C/C++. Dieses baut auf Visual Studio 2015 auf und daher funktionieren auch viele Erweiterungen dafür.

    Aber es nervt ziemlich wenn das Spell Checking in jedem Kommentar die "nicht-englischen" Worte unterwellt.

     

    Dafür gibt es eine Lösung... nur kommt die Rechtschreibprüfung nicht vom Visual Studio Spell Checker sondern vom VAssisX Plugin.

    -
    -
    26.01.2017 02:20 - stefan
  • Pfadeinstellungen beim Android SDK und Xamarin

    Wenn man den Android SDK zusammen mit Android Studio oder aus einer anderen bestehenden Installation verwenden möchte so ist der Pfad den SDKs schnell in den Einstellungen geändert.

    Allerdings kann es passieren, dass der "Visual Studio Emulator for Android" dann nicht mehr funktioniert.

    Denn dieser verwendet auch den SDK und wenn die Versionen nicht mehr zusammen passen dann bootet der Emulator zwar, aber das Visual Studio hängt sich beim deployn aufs Gerät einfach auf.

    Damit das wieder funktioniert einfach den Pfad auch hier in der Registry setzen:

    [HKEY_LOCAL_MACHINE\SOFTWARE\ WOW6432Node\Android SDK Tools]
    "Path"="D:\Android\android-sdk-windows"

     Passt natürlich den Pfad an eure Installation an.

    -
    -
    05.01.2017 01:54 - stefan
  • Keystore-Files für die automatische Signierung eines Xamarin Android APK Files

    Damit für eine komplette Automatisierung des Buildprozesses für ein Android Projekt, braucht man egal ob nativ oder via Xamarin ein KeyStore-File um das File abschließend signieren zu können. Erst danach wird das apk-File von einem Gerät akzeptiert.

    Gott sei Dank kann man sich recht leicht ein Keystore File machen, indem man sich des keytool.exe Programms bedient, welches beim JDK mitgeliefert wird.

    -
    -
    05.01.2017 01:05 - stefan
  • Visual Studio 2015 stürzt ab beim Deployment auf Device

    Ich bin auf folgendes Problem gestoßen, dass auftreten kann wenn man eine UWP-App auf einem Windows-Gerät via USB debuggen möchte.

    Der Fehler äußert sich beim Debuggen in dem Visual Studio 2015 zuerst kurz hängt und danach vollständig abstützt.

    Seit einem der letzen Builds (genauer gesagt Windows 10, Version 1511) funktioniert das nämlich nur mehr nach Freigabe eines Sicherheitsschalters in den Einstellungen.

    Beheben lässt sich das ganze allerdings relativ einfach mit dem Schalter "Geräte-Suche" unter den Entwickler-Optionen.

     

    inzwischen gibt es dazu auch einen Windows Blog Eintrag dazu: https://msdn.microsoft.com/en-us/windows/uwp/debug-test-perf/device-portal-mobile

     

     

     

    -
    -
    04.01.2017 12:36 - stefan