Compilation de Repetier-Host 0.84

Le logo Repetier-Host

Pour essayer de comprendre comment fonctionne le pilotage d'une imprimante, je me suis dit que ce serait bien d'examiner le code de Repetier-Host, qui était en Open Source jusqu'à sa version 0.84. Hot-World, la société allemande qui développe le logiciel, a décidé depuis de changer de licence et de ne plus partager son code.

C'est du C# donc je devrais m'y retrouver.

J'ai donc cloné le code du dépôt GitHub et je l'ai ouvert dans mon Visual Studio Community 2015.

Comme détaillé dans le fichier installation.txt, il faut télécharger et installer OpenTK qui est une bibliothèque qui permet d'utiliser OpenGL en C#. Ensuite il faut ajouter le répertoire C:\Users\<Votre nom d'utilisateur>\Documents\OpenTK\1.1\Binaries\OpenTK\Release\ au chemin des références (dans Visual Studio, Projet, Propriétés, onglet Chemins des références.

Ensuite il faut copier le répertoire src\data dans src\RepetierHost\bin\Debug. Ce répertoire contient différentes ressources nécessaires au fonctionnement du programme, notamment des traductions.

A la compilation, j'avais une exception System.BadImageFormatException : "Impossible de charger le fichier ou l'assembly 'RepetierHost.exe' ou une de ses dépendances. Cet assembly a été construit par un runtime plus récent que le runtime actuellement chargé et ne peut pas être chargé.". En fait les DLL OpenTK sont compilées avec le .NET framework 2.0/3.5 alors que mon projet est en 4.0. Je suis donc descendu de version (je suis passé en 3.5) et là ça a fonctionné.

Il y avait aussi la configuration du projet qui était mal définie. Le projet RepetierHost dans la configuration Debug de la solution était en Release.

Ensuite j'ai une une exception à la lecture de plusieurs clés de la base de registre (certainement un conflit avec la version de Repetier-Host installée sur mon poste). En fait on dirait que certaines valeurs qui étaient initialement stockées sous forme de texte sont maintenant stockées sous forme de nombre. Problème résolu en remplaçant le hard cast par un Convert.ToString().

Après ces quelques modifications, j'ai le "splash screen" qui s'est affiché.

L'écran d'accueil de Repetier-Host

Il ne reste plus qu'à examiner les entrailles de la bête...

Etiquettes:

Add new comment