解决方案
此错误可能由不同的原因引起。 本文将涵盖最常见的原因并针对每个原因提出解决方案。
安全限制
此问题可能与对 .NET 程序集设置的安全限制有关。 有两种方法可以授予远程来源的程序集完全信任:使用 LabVIEW 配置文件或手动允许单个程序集。
LabVIEW .NET 配置文件
按照以下步骤允许 LabVIEW 访问所有 .NET 程序集。 请注意,这种方法会带来潜在的安全风险。
- 使用文本编辑器创建包含以下文本的文件:
<?xml version ="1.0"?>
<configuration>
<runtime>
<loadFromRemoteSources enabled="true" />
</runtime>
</configuration>
- 将该文件保存为 LabVIEW.exe.config,放在 LabVIEW.exe 文件的同一目录中。 该目录通常位于 C:\Program Files (x86)\National Instruments\LabVIEW 20xx\。
- 您还可以参考配置.NET客户端应用程序,了解有关如何将配置文件应用于 LabVIEW 项目、共享库或独立可执行文件的详细信息。 请注意,这种缩小的范围通常允许加载远程程序集,从而降低了潜在的安全风险。
手动授予访问权限
以下仅适用于 Windows 7 及更高版本。 如果 LabVIEW 在加载程序集时失败,Windows 将在文件的属性上添加一个选项来取消阻止程序集,如下图所示。 选中取消阻止并单击确定以授予程序集完全信任。
缺少依赖项
如果 LabVIEW 无法找到相关程序集,也可能会出现此问题。 确保您尝试添加到 VI 的所有程序集和依赖项与要添加程序集的 VI 位于同一项目目录中。 要检查依赖项,您可以使用随 Microsoft Visual Studio 安装的
IL 反汇编程序 (ILDASM.exe) 查看程序集中嵌入的清单。
使用 .NET 核心
出现此错误的另一个原因可能是 .NET 程序集是使用 .NET Core 而不是 .NET Framework 构建的。 由于 LabVIEW 使用 .NET Framework/CLR 4.0,LabVIEW 不支持 .NET Core 程序集。 LabVIEW 可以访问与随 LabVIEW 一起安装的 .NET CLR 4.0 相关的类库程序集。