调用.NET对象属性或方法时抛出的任何异常都会转换为LabVIEW错误1172。此错误表示LabVIEW从调用的API中收到了.NET异常。会看到典型的错误消息类似于:
1172,kLVE_DotNetException,发生了.NET异常。
这类错误的根本原因与.NET异常消息有关,因为1172是所有.NET异常的通用错误代码。
在LabVIEW 8.0及更高版本中,系统通过将.NET异常消息属性放入错误集群中的错误源字符串,向错误消息中添加更多信息。只需要解绑源元素就可以查看有关异常的其他信息。
在LabVIEW 7.x中,显示出来的唯一信息是发生了.NET异常。如要在LabVIEW 7.x中解决此错误,请尝试以下操作之一:
确保使用的.NET程序集保存在顶层VI的根目录中。
通过选择Tools»Advanced»NET Assembly References,在LabVIEW中添加.NET程序集作为引用 。单击“ 添加”按钮,然后将 .NET程序导航到要调用的所有程序集的位置。
在LabVIEW 8.0及更高版本中,如果使用“手动错误处理”,则只会收到额外信息。有关错误处理的更多信息,请参阅NI LabVIEW中的处理错误 。
从LabVIEW调用.NET程序集的其他注意事项包括:
必须在GAC中安装共享程序集,其中包括从网络驱动器调用的程序集。有关安装到GAC的信息,请参阅将程序集安装到全局程序集缓存中 。
如果想要构建一个应用程序,请确保将程序集包含在其中。 LabVIEW Application Builder会自动将未在GAC中注册的程序集保存到data子目录中。必须使用构建的应用程序发布data目录。
发布构建的应用程序时,请确保目标计算机安装了与所调用的.NET程序集对应的.NET Framework。
使用探针工具确保最初由.NET构造函数节点VI创建的.NET对象引用是有效的。
使用第三方.dll 可能会导致出现.NET异常。此时LabVIEW只会给出一个通用的错误消息,说明.dll出错了。在这种情况下,请联系第三方.dll提供商以进行进一步的故障排除。
有关更多信息,请参阅LabVIEW中使用.NET程序集的要求 。
LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序
上文中提到的例子和资料,均在word中的附件里,可点击下载。进一步了解,可联系我们。