Microsoft a récemment publié la version 6 du framework .Net (anciennement appelé .Net Core). Cette version est censée être compatible avec les anciennes versions du framework, mais en réalité ne l'est pas vraiment. Nous avons donc dû fixer quelques petits problèmes dans notre librairie et plus particulièrement dans notre package NuGet.
Il est facile de se perdre avec toutes les différentes versions du framwork .Net. Après le ".Net Framework", le ".NET Core", Microsoft parle dorénavant de ".Net". Sachez simplement que notre librairie C# supporte toutes les "saveur" de framework .Net actuellement supporté par Microsoft.
Nouvel exemple
Dans le sous-répertoire Examples de notre librairie C# vous trouvez de nombreux exemples d'application Windows qui utilisent le framwork ".Net Framework 4.x". Ces projets sont destinés à être utilisés uniquement sous Windows et doivent être ouverts et compilés avec Microsoft Visual Studio.
En plus de ces exemples, nous avons récemment ajouté un exemple qui utilise le framework ".Net 6". Il s'agit de l'exemple Prog-dotNetCore. Cet exemple fait la même chose que l'exemple Doc-Inventory ,c'est-à-dire qu'il affiche sur la sortie standard la liste des modules connectés par USB. Mais cet exemple utilise .Net 6 et fonctionne sous Windows, Linux et macOS.
Le code le Prog-dotNetCore
{
static void Main(string[] args)
{
YModule m;
string errmsg = "";
if (YAPI.RegisterHub("usb", ref errmsg) != YAPI.SUCCESS)
{
Console.WriteLine("RegisterHub error: " + errmsg);
Environment.Exit(0);
}
Console.WriteLine("Device list");
m = YModule.FirstModule();
while (m != null)
{
Console.WriteLine(m.get_serialNumber() +
" (" + m.get_productName() + ")");
m = m.nextModule();
}
YAPI.FreeAPI();
}
}
Sous Windows on peut compiler l'exemple avec Microsoft Visual Studio,ou avec l'utilitaire dotnet. Sous Linux ou macOS, il est uniquement possible compiler l'exemple à l'aide de la utilitaire dotnet car il n'a pas de version de Microsoft Visual Studio pour ces OS.
Concrètement la commande dotnet build permet de compiler l'exemple et la commande dotnet run permet d’exécuter l'application.
C:\YoctoLib.cs.48512\Examples\Prog-dotNetCore>dotnet run Device list RELAYLO1-27EAB (Yocto-Relay) YBUTTON1-2072D (Yocto-Knob) YPWMTX01-B9625 (Yocto-PWM-Tx) YPWMRX01-AE391 (Yocto-PWM-Rx)
La librairie NuGet
Nous avons aussi dû changer notre package NuGet pour supporter les versions 5 et 6 du framework ".Net". Si vous avez besoin d'ajouter notre librairie C# à un projet .Net existant vous pouvez le faire à l'aide le la commande suivante:
dotnet add package Yoctopuce.YoctoLib
Conclusion
Notre librairie C# fonctionne avec toutes les types de framework ".Net", et grâce à ".Net 6" vous pouvez utilisez nos modules sur les plates-formes suivantes:
- Windows 32 bits
- Windows 64 bits
- Linux Intel 32 bits
- Linux Intel 64 bits
- Linux ARM 32 bits
- Linux ARM 64 bits
- macOS 64 bits