Direkt zum Hauptinhalt

Client (Borepin) selber kompilieren

Windows Client zu compilieren. Leider bin ich damit gnadenlos gescheitert. Gibt es denn außer dieser Kurzbeschreibung https://fab-access.readthedocs.io/en/v0.2/installation/client_build.html#on-windows eine ausführlichere Anleitung für VS 2022 und für jemand, der nicht unter Windows und in C# zu Hause ist?


durch die Veröffentlichung von MAUI hat sich die Installation verändert.
Im Visual Studio Installer muss das Paket MAUI installiert werden, mit der Komponente Xamarin.

Mir ist das heute auch erst aufgefallen, ich hatte noch die Xamarin Version.

 

On Windows

  1. Install Visual Studio 2019 download Visual Studio

    • with Xamarin
    • with UWP
    • with .NET Desktop
  2. Install GTKSharp for Windows download GTKSharp

  3. Install capnproto

    3.1 If you have Chocolatey installed

    $ choco install capnproto
    

    3.2 else you can download it from here and add it to your PATH

  4. Clone Borepin download Borepin

  5. Load Borepin

  6. Build Borepin

If Step 5. Build Borepin is failing because of GTKSharp, it could help to restart your PC.

BuildLinux GTK Project

Auf

Linux
benötigen
wir
    das
  1. große Paket für Mono. Mono ist eine alternative, quelloffene Implementierung von Microsofts .NET Framework. Sie ermöglicht die Entwicklung von plattformunabhängiger Software auf den Standards der Common Language Infrastructure und der Programmiersprache C#.

    Ubuntu 24

    InstallAuf monoUbuntu downloadgehen mono

    wir
  2. wie
  3. folgt

    Install mono, gtk-sharp, msbuild, nuget, capnproto 1.1 Debian basedvor:

    $# Mono Repository hinzufügen
    sudo apt install ca-certificates gnupg
    sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/mono-official-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
    echo "deb [signed-by=/usr/share/keyrings/mono-official-archive-keyring.gpg] https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
    sudo apt update
    
    # Mono und weitere Pakete installieren
    sudo apt install mono-complete,complete gtk-sharp2,sharp2 libcanberra-gtk-module,module nuget, capnproto, git
    

    1.2 ArchLinux based

    $ pacman -S mono, mono-msbuild, gtk-sharp-2, nuget,nuget capnproto git
  4. Update NuGet

    $ nuget update -self
    
  5. Projekt

  6. Clone Borepinklonen

    $cd ~/
    git clone https://gitlab.com/fabinfra/fabaccess/client.git --recurse-submodules
    cd client/
  7. In

  8. dem

    BuildRepo Borepinherumstochern und Projekt kompilieren

    $ cd client~/client/
    
    $#Entfernen, was wir nicht brauchen
    rm -rf ~/client/Borepin/Borepin.Android/
    rm -rf ~/client/Borepin/Borepin.UWP/
    rm -rf ~/client/Borepin/Borepin.iOS/
    rm -rf ~/client/Borepin/Borepin.macOS/
    rm -rf ~/client/Borepin_Test/
    rm -rf ~/client/FabAccessAPI_Test/
    
    #diese Einträge entfernen wir außerdem in:
    vim Borepin.sln
    
    nuget restore
    
    $cd packages/
    nuget install NLog
    nuget install dryioc.dll -Version 4.7.7
    #in den folgenden 3 Dateien tauschen wir die Version für DryIoc von 5.3.1 zu 4.7.7
    vim ~/client/Borepin/Borepin.GTK/app.config
    vim ~/client/Borepin/Borepin.GTK/Borepin.GTK.csproj
    vim ~/client/Borepin/Borepin.GTK/packages.config
    msbuild /restore
    msbuild -t:Borepin_GTK
    
    cp ~/client/packages/NLog.5.3.4/lib/net45/NLog.* ~/client/Borepin/Borepin.GTK/bin/Debug/
  9. Borepin

  10. starten

    RunDas Borepinkonnte aktuell nicht erfolgreich durchgeführt werden

    $ mono .~/client/Borepin/Borepin.GTK/bin/Debug/Borepin.GTK.exe
    

    der StackTrace:

    (Borepin.GTK:4704): Gtk-WARNING **: 01:31:17.439: Im Modulpfad »adwaita« konnte keine Themen-Engine gefunden werden,
    Exception in Gtk# callback delegate
      Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
    System.NullReferenceException: Object reference not set to an instance of an object
      at Xamarin.Forms.Platform.GTK.Platform.GetRenderer (Xamarin.Forms.VisualElement element) [0x00000] in <db5c3415edd24a4aa8ae86f8bebc9a57>:0 
      at Xamarin.Forms.Platform.GTK.FormsWindow.OnConfigureEvent (Gdk.EventConfigure evnt) [0x00033] in <db5c3415edd24a4aa8ae86f8bebc9a57>:0 
      at Gtk.Widget.configureevent_cb (System.IntPtr widget, System.IntPtr evnt) [0x00014] in <7aab76e87bce48a4b45cf7fa613cb70c>:0 
      at GLib.ExceptionManager.RaiseUnhandledException (System.Exception e, System.Boolean is_terminal) [0x00000] in <ed39f21b9e9343dcbd442a17ad356a9f>:0 
      at Gtk.Widget.configureevent_cb (System.IntPtr widget, System.IntPtr evnt) [0x00000] in <7aab76e87bce48a4b45cf7fa613cb70c>:0 
      at Gtk.Application.gtk_main () [0x00000] in <7aab76e87bce48a4b45cf7fa613cb70c>:0 
      at Gtk.Application.Run () [0x00000] in <7aab76e87bce48a4b45cf7fa613cb70c>:0 
      at Borepin.GTK.MainClass.Main (System.String[] args) [0x00000] in <674198d89d1447e7b051f706516309ae>:0 

    oder mit Wine

    Das konnte aktuell nicht erfolgreich durchgeführt werden

    sudo apt install wine
    sudo apt-get install winetricks
    winetricks dotnet45
    
    #Borepin starten
    wine ~/client/Borepin/Borepin.GTK/bin/Debug/Borepin.GTK.exe

    ArchLinux

    pacman -S mono mono-msbuild gtk-sharp-2 nuget capnproto

    ... und so weiter

    IDEs zum Entwickeln von Borepin

  • JetBrains Rider
  • You can also use Rider or monodevelop as an IDE for development on Borepin

    macOS / iOS

    1. Install Visual Studio for Mac

    2. Install capnproto If you install capnp with Homebrew you may have to symlink the capnp binary into ‘/usr/local/bin’, or bring it into your PATH another way.

    3. Clone Borepin

      $ git clone https://gitlab.com/fabinfra/fabaccess/client.git --recurse-submodules
      
    4. Open in Visual Studio

    5. Build