Bonjour,


Je suis développeur logiciel dans une entreprise généraliste. Nous sommes une petite équipe et j'hérite d'un logiciel vieux d'une vingtaine d'année (comme dans beaucoup d'entreprise je suppose )

Ce logiciel est codé en C/C++, avec Visual Studio 2010. Son but est de communiquer avec des équipements en USB, Ethernet et bluetooth. Jusqu'alors nous utilisions un dongle Bluetooth pour communiquer avec les équipement Bluetooth. Je dois aujourd'hui intégrer la communication via le bluetooth intégré au PC. Pour cela, je me suis servi de l'exemple proposé par Microsoft, codé en C#. Afin de me faire la main, j'en ai fait un petit outil me permettant de communiquer avec nos équipements. Maintenant, je voudrais intégrer la partie communication dans notre logiciel sous forme d'une DLL.

Je cherche donc à faire communiquer un logiciel codé en C/C++, avec Visual Studio 2010 avec une DLL en C#.

D'après mes recherches, il est possible de faire communiquer les deux en utilisant COM Interop. L'option est bien disponible dans les paramètres d'un projet C# ayant pour framework .NET Framwork 4.6.1 mais l'option est grisé dans mon projet ayant pour framework cible .NET Core 3.1. Je n'ai pas d'autre choix que d'utiliser ce dernier pour gérer mes dépendances, nécessaire à l'utilisation des bibliothèques bluetooth de Windows.

Suis-je obligé, pour la communication C++/C#, d'avoir une DLL de communication C++/C# avec .NET Framwork 4.6.1 en plus de ma DLL bluetooth en C# avec .NET Core 3.1, ou existe-t-il une solution pour communiquer entre mon projet C++ et ma DLL C# avec .NET Core 3.1 sans passer par une DLL "d'interface" entre les deux ?


J'espère avoir été assez clair dans mes explications et vous avoir donné assez d'informations.


Merci de votre aide !