LabVIEW生成的.NET Framework程序集的特征
- 更新时间2025-08-27
- 阅读时长4分钟
从其他程序中调用.NET Framework程序集
生成.NET Framework程序集之后,可从其他支持.NET的程序中调用程序集。但是,要保证调用方程序所在的计算机满足下列要求:
- 运行.NET Framework程序集的计算机上都必须安装LabVIEW运行引擎。可将LabVIEW运行引擎与.NET Framework程序集一并发布。(Windows)也可在安装程序中包括LabVIEW运行引擎。
- NI建议.NET Framework程序集计算机上安装的.NET Framework的版本与LabVIEW用于生成应用程序的版本相同或更新。
- 要在LabVIEW开发环境之外调用.NET Framework程序集,必须在Microsoft Visual Studio项目中引用NationalInstruments.LabVIEW.Interop.dll。LabVIEW运行引擎会自动将该DLL安装至National Instruments\Shared\LabVIEW Run-Time目录。也可手动安装NationalInstruments.LabVIEW.Interop.dll至全局程序集缓存(GAC)。如需安装该DLL至GAC,必须用强名称密钥文件签名.NET程序集。
- 创建可调试.NET Framework程序集时,LabVIEW将在程序集的同一目录下放置一个配置(ini)文件。如需在其他程序中调试程序集,必须将.ini文件和程序集一起发布。
.NET Framework程序集中的LabVIEW数据类型
生成.NET Framework程序集时,LabVIEW直接将简单数据类型转换为相应的.NET数据类型,例如,数值、布尔值、字符串、简单数据类型的数组,等等。对于LabVIEW特有的数据类型,需在生成的程序中定义新的.NET数据类型。例如,簇、波形、复数、引用句柄、LabVIEW类,等等。
在Microsoft Visual Studio等.NET编程环境中生成.NET Framework程序集并查看程序集的manifest文件,可确定LabVIEW如何将自有的数据类型转换为.NET数据类型。也可使用Microsoft Developer Network (MSDN)提供的MSIL Disassembler工具查看生成的程序集。下面简要介绍了LabVIEW如何将簇、枚举型控件、LabVIEW类转换为.NET数据类型。
簇和枚举
LabVIEW将簇和枚举转换为.NET结构体,结构体中的元素对应于簇和枚举中的元素。LabVIEW使用下列规则对.NET结构体命名:
- 定义为自定义类型或严格自定义类型的簇和枚举-LabVIEW使用自定义类型的标签命名.NET结构体。
- 其他簇和枚举-LabVIEW使用LVCluster_#或LVEnum_#来命名.NET结构体。
LabVIEW类
可导出LabVIEW类的成员VI。在LabVIEW中,这些VI的输入就是相应的LabVIEW类。因此,将这些VI导出至.NET Framework程序集后,LabVIEW必须也在程序集中创建一个类似的.NET类定义。.NET类定义包含各个成员VI的静态方法。每个静态方法都需要新定义的.NET类作为输入参数。LabVIEW不导出类的私有数据。
LabVIEW导出方法VI所属类的继承结构。生成的.NET类具有相同的继承结构。
LabVIEW错误
LabVIEW为VI生成.NET方法后,新方法不支持错误输入和错误输出簇参数。方法执行时如有错误,将抛出一个.NET异常。抛出的异常信息和错误簇的信息相同。