注: 以下内容仅适用于.NET Framework。自LabVIEW 2024 Q3以来,LabVIEW逐渐增加了对.NET Core的支持。关于不同版本中增加的具体.NET Core支持,请参见LabVIEW新增功能和改动

如通过VI的前面板或程序框图加载.NET对象,确保LabVIEW可在对象上加载.NET程序集。通用语言运行时(CLR)负责查找要调用的.NET Framework程序集。关于CLR如何查找程序集的详细信息请访问MSDN网站。如CLR不能找到程序集,LabVIEW会按照查找VI的方式查找程序集。LabVIEW在选项对话框路径页规定的目录下查找VI。如LabVIEW也不能找到.NET程序集或.NET对象在前面板或程序框图上直接被引用,LabVIEW将产生一个加载时错误。如LabVIEW在运行时不能加载一个所需的程序集,LabVIEW将产生一个运行时错误。

加载私有.NET程序集时,LabVIEW使用正在运行可执行文件所在的目录作为默认搜索目录。如从不属于LabVIEW项目的VI中引用.NET对象,CLR把LabVIEW.exe作为正在运行的可执行文件。CLR在LabVIEW.exe所在的目录中搜索私有程序集。如从属于LabVIEW项目的VI中引用.NET对象,CLR把项目作为正在运行的可执行文件。CLR在项目文件夹下搜索私有程序集。如从不属于.NET的VI和程序集中引用.NET程序集,NI强烈建议将VI保存在项目中,避免将文件放置在LabVIEW.exe文件所在的目录下。

如从不属于项目的VI中调用.NET Framework程序集,事实上可将程序集保存在与调用方VI相同的目录下。LabVIEW搜索VI目录,包括调用方VI所在的目录,以查找CLR未能默认加载的程序集。但是,该位置保存的调用方程序集可能会产生名称冲突和其他未预期的.NET Framework行为。所以,NI不建议将程序集保存在该位置。

检查内存中程序集的改动

LabVIEW加载程序集至内存后,程序集将一直在内存中,直到加载程序集的应用程序实例关闭。当程序集在内存中时,LabVIEW不检测用户对磁盘上的程序集是否做出改动。因此,必须更新内存中的程序集版本,LabVIEW才能检测到程序集的改动。

改动程序集后加载VI

Microsoft Visual Studio .NET和.NET SDK中提供的其他开发工具可向一个程序集分配强名称。通常认为,同一个强名称下的程序集是一致的。

如加载VI的.NET程序集路径有改动,强命名程序集版本号或语种字符串发生改动,LabVIEW将打开一个警告对话框,将改动告知用户。加载完毕后,VI的标题栏和窗口菜单下的打开VI列表中都将显示一个星号。保存VI后,星号消失,直到下次修改时才出现。

如加载VI的.NET Framework程序集时间标识有改动,LabVIEW不会打开警告对话框,仅在VI标题栏显示一个星号标志。

提示 查看内存中的.NET程序集对话框,确认LabVIEW正加载正确版本的程序集。

关于如何选择和加载特定版本.NET程序集的详细信息,请参见ni.com上的知识库。