LabVIEW加载.NET程序集
如通过VI的前面板或程序框图加载.NET对象,确保LabVIEW可在对象上加载.NET程序集。CLR负责查找要调用的.NET程序集。关于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在项目文件夹下搜索私有程序集。如从不属于.NETFramework的VI或程序集中引用.NET程序集,建议将VI保存在项目中,避免将文件放置在LabVIEW.exe文件所在的目录下。
如从不属于项目的VI中调用.NET程序集,事实上可将程序集保存在与调用方VI相同的目录下。LabVIEW搜索VI目录,包括调用方VI所在的目录,以查找CLR未能默认加载的程序集。但是,该位置的调用方程序集可能会产生名称冲突或其它未预期的.NET行为。所以,不建议将程序集保存在该位置。
检查内存中程序集的改动
LabVIEW加载程序集至内存后,程序集将一直在内存中,直到加载程序集的应用程序实例关闭。当程序集在内存中时,LabVIEW不检测用户对磁盘上的程序集是否做出改动。因此,必须更新内存中的程序集版本,LabVIEW才能检测到程序集的改动。
改动程序集后加载VI
MicrosoftVisual Studio .NET和其它.NET Framework SDK下的开发工具可向一个程序集分配强名称。通常认为,同一个强名称下的程序集是一致的。
如加载VI的.NET程序集路径有改动,强命名程序集版本号或语种字符串发生改动,LabVIEW将打开一个警告对话框,将改动告知用户。加载完毕后,VI的标题栏和窗口菜单下的打开VI列表中都将显示一个星号。保存VI后,星号消失,直到下次修改时才出现。
如加载的VI的.NET程序集的时间标识有改动,LabVIEW不打开警告对话框,仅在VI标题栏显示一个星号标志。
提示: 查看内存中的.NET程序集对话框,确认LabVIEW加载了正确版本的程序集。