Remarque Le contenu suivant s'applique uniquement à .NET Framework. Avant LabVIEW 2025 Q1, les assemblys .NET Framework étaient appelés assemblys Interop .NET.

Appel d'un assembly .NET Framework à partir d'un autre programme

Après avoir construit un assembly .NET Framework, vous pouvez l'appeler à partir d'autres programmes qui supportent .NET. Assurez-vous cependant que l'ordinateur sur lequel l'autre programme exécute répond aux exigences et recommandations suivantes :

  • Le moteur d'exécution de LabVIEW doit être installé sur les ordinateurs sur lesquels les utilisateurs exécutent l'assembly .NET Framework. Vous pouvez distribuer le moteur d'exécution de LabVIEW avec l'assembly .NET Framework. (Windows) Vous pouvez aussi inclure le moteur d'exécution de LabVIEW dans un installeur.
  • National Instruments vous recommande d'installer la même version de .NET Framework (ou une version plus récente) sur l'ordinateur cible de l'assembly .NET Framework que celle utilisée par LabVIEW pour construire l'application.
  • Pour appeler l'assembly .NET Framework en dehors de l'environnement de développement de LabVIEW, vous devez faire référence à NationalInstruments.LabVIEW.Interop.dll dans le projet Microsoft Visual Studio. Le moteur d'exécution de LabVIEW installe automatiquement cette DLL dans le répertoire National Instruments\Shared\LabVIEW Run-Time. Si vous le souhaitez, vous pouvez installer manuellement NationalInstruments.LabVIEW.Interop.dll dans le GAC (Global Assembly Cache ). Pour installer cette DLL dans le GAC, vous devez signer l'assembly .NET avec un fichier de clé de nom fort.
  • Lorsque vous créez un assembly .NET Framework pouvant être mis au point, LabVIEW place un fichier de configuration (ini) dans le même répertoire que l'assembly. Si vous souhaitez mettre au point l'assembly dans d'autres programmes, vous devez distribuer le fichier .ini avec l'assembly.

Types de données LabVIEW dans les assemblys .NET Framework

Lorsque vous construisez un assemby .NET Framework, LabVIEW traduit directement les types de données simples (p. ex., les nombres, les booléens, les chaînes et les tableaux) en types de données .NET correspondants. Cependant, pour les types de données spécifiques à LabVIEW (les clusters, waveforms, nombres complexes, refnums et classes LabVIEW), LabVIEW doit redéfinir de nouveaux types de données .NET dans l'assembly généré.

Pour déterminer comment LabVIEW convertit ses propres types de données en types de données .NET, vous pouvez construire l'assembly .NET Framework, puis afficher le manifeste de l'assembly dans un environnement de programmation .NET tel que Microsoft Visual Studio. Pour afficher l'assembly généré, vous pouvez également utiliser l'outil MSIL Disassembler disponible sur Microsoft Developer Network (MSDN). Cependant, les sections suivantes expliquent certains détails élémentaires concernant la manière dont LabVIEW convertit les clusters, les commandes de type énumération et les classes LabVIEW en types de données .NET.

Clusters et énumérations

LabVIEW convertit les clusters et les énums en structures .NET dont les éléments correspondent à ceux du cluster ou de l'énum. LabVIEW utilise les règles suivantes pour nommer la structure .NET correspondant au cluster ou à l'énum :

  • Clusters et énums définis comme définitions de type ou définitions de type strictes — LabVIEW utilise l'étiquette de la définition de type ou de la définition de type stricte comme nom de la structure .NET
  • Tous les autres clusters et énums — LabVIEW nomme la structure .NET LVCluster_# ou LVEnum_#

Classes LabVIEW

Vous pouvez exporter les VIs membres d'une classe LabVIEW. Dans LabVIEW, ces VIs requièrent la classe LabVIEW propriétaire comme entrée. Ainsi, lorsque vous exportez ces VIs vers un assembly .NET Framework, LabVIEW doit créer une définition de classe .NET équivalente dans l'assembly. La définition de classe .NET contient une méthode statique pour chaque VI membre. Chacune de ces méthodes statiques requiert une instance de la classe .NET nouvellement définie comme paramètre. LabVIEW n'exporte pas les données privées d'une classe LabVIEW propriétaire.

LabVIEW exporte également la structure d'héritage des classes LabVIEW dont vous exportez les VIs de méthode. Les classes .NET générées ont la même structure d'héritage.

Erreurs LabVIEW

Lorsque LabVIEW génère une méthode .NET pour un VI, il n'exporte pas les clusters entrée d'erreur et sortie d'erreur comme paramètres de la nouvelle méthode. À la place, la nouvelle méthode renvoie une exception .NET si une erreur survient lors de l'exécution de la méthode. Cette exception contient les mêmes informations que le cluster d'erreur.