PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Utilisation DOTNET (BACnet) dans Windev
Utilisation DOTNET (BACnet) dans Windev
Débuté par Defcom60, 16 mai 2025 10:08 - 1 réponse
Posté le 16 mai 2025 - 10:08
Bonjour à tous,
J’ai utilisé l’IA pour générer un code C# permettant de lire une variable via le protocole BACnet, et ce code fonctionne parfaitement. Voici un extrait :

using System;
using System.Collections.Generic;
using System.IO.BACnet;

class Program
{
    static void Main()
    {
        string deviceIp = "172.16.10.202";
        ushort devicePort = 47808;

        var transport = new BacnetIpUdpProtocolTransport(0xBAC0, false);
        var client = new BacnetClient(transport);
        client.Start();

        try
        {
            var address = new BacnetAddress(BacnetAddressTypes.IP, $"{deviceIp}:{devicePort}");
            var objectId = new BacnetObjectId(BacnetObjectTypes.OBJECT_ANALOG_VALUE, 1);

            if (client.ReadPropertyRequest(address, objectId, BacnetPropertyIds.PROP_PRESENT_VALUE, out IList values))
            {
                Console.WriteLine("Valeur analogique lue : " + values[0].Value);
            }
            else
            {
                Console.WriteLine("Échec de la lecture de la propriété.");
            }
        }
        finally
        {
            client.Dispose();
        }
    }
}


Je souhaite maintenant intégrer ce code dans WinDev en utilisant un assemblage .NET basé sur la DLL System.IO.BACnet.

J’ai placé la DLL dans le répertoire exe de mon projet.

Je l’ai importée dans WinDev via l’assistant d’importation d’assemblage .NET.






Le problème et que je ne pas sais comment instancier et utiliser les objets de cet assemblage .NET dans WinDev.
J’ai également vu qu’on pouvait écrire du code C# directement dans WinDev, mais j’obtiens une erreur :

L'initialisation du Framework .NET a échoué. Vérifiez vos paramètres de sécurité .NET. Il n'est généralement pas permis d'utiliser le Framework .NET depuis un chemin réseau.

Les SDK .NET version 4 et version 9 sont bien installés sur ma machine.


Est-ce que quelqu’un pourrait m’aider avec la syntaxe d’appel au .NET depuis WinDev avec comme exemple le code précédent ?

Avez-vous des conseils pour corriger l’erreur liée à l’exécution du Framework .NET ?

Est-il préférable d’utiliser l’assemblage .NET ou d’encapsuler le code C# dans une DLL que j’appellerais depuis WinDev ?

Merci d’avance pour votre aide !
Je continue mes recherches en parallèle.
Posté le 16 mai 2025 - 14:54
Defcom60 a écrit :
Bonjour à tous,
J’ai utilisé l’IA pour générer un code C# permettant de lire une variable via le protocole BACnet, et ce code fonctionne parfaitement. Voici un extrait :

using System;
using System.Collections.Generic;
using System.IO.BACnet;

class Program
{
    static void Main()
    {
        string deviceIp = "172.16.10.202";
        ushort devicePort = 47808;

        var transport = new BacnetIpUdpProtocolTransport(0xBAC0, false);
        var client = new BacnetClient(transport);
        client.Start();

        try
        {
            var address = new BacnetAddress(BacnetAddressTypes.IP, $"{deviceIp}:{devicePort}");
            var objectId = new BacnetObjectId(BacnetObjectTypes.OBJECT_ANALOG_VALUE, 1);

            if (client.ReadPropertyRequest(address, objectId, BacnetPropertyIds.PROP_PRESENT_VALUE, out IList values))
            {
                Console.WriteLine("Valeur analogique lue : " + values[0].Value);
            }
            else
            {
                Console.WriteLine("Échec de la lecture de la propriété.");
            }
        }
        finally
        {
            client.Dispose();
        }
    }
}


Je souhaite maintenant intégrer ce code dans WinDev en utilisant un assemblage .NET basé sur la DLL System.IO.BACnet.

J’ai placé la DLL dans le répertoire exe de mon projet.

Je l’ai importée dans WinDev via l’assistant d’importation d’assemblage .NET.






Le problème et que je ne pas sais comment instancier et utiliser les objets de cet assemblage .NET dans WinDev.
J’ai également vu qu’on pouvait écrire du code C# directement dans WinDev, mais j’obtiens une erreur :

L'initialisation du Framework .NET a échoué. Vérifiez vos paramètres de sécurité .NET. Il n'est généralement pas permis d'utiliser le Framework .NET depuis un chemin réseau.

Les SDK .NET version 4 et version 9 sont bien installés sur ma machine.


Est-ce que quelqu’un pourrait m’aider avec la syntaxe d’appel au .NET depuis WinDev avec comme exemple le code précédent ?

Avez-vous des conseils pour corriger l’erreur liée à l’exécution du Framework .NET ?

Est-il préférable d’utiliser l’assemblage .NET ou d’encapsuler le code C# dans une DLL que j’appellerais depuis WinDev ?

Merci d’avance pour votre aide !
Je continue mes recherches en parallèle.




J'ai n'ai plus le problème
D'initialisation du Framework .NET cela fait un problème résolu.