Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
拖放新的.net dll不会在labVIEW中加载它_.net_Dll_Labview_Teststand - Fatal编程技术网

拖放新的.net dll不会在labVIEW中加载它

拖放新的.net dll不会在labVIEW中加载它,.net,dll,labview,teststand,.net,Dll,Labview,Teststand,我正在使用LabVIEW 8.5、Testand 4.0和Windows XP 我一直在使用LabVIEW Vi调用.Net dll(在v2.0中创建,不是强类型的,也不是在GAC中添加的),以及成功调用这些Vi的测试和序列 随着dll版本的更改,我将新的dll拖放到同一个位置,所有的麻烦都会消失。已经工作的Vi中断,如果我添加一个新Vi并指向新的dll,构造函数节点会抱怨“无法加载程序集” 我尝试了以下给出的解决方法: 我尝试了以下步骤: 关闭LabVIEW和项目 删除旧的dll 打开Lab

我正在使用LabVIEW 8.5、Testand 4.0和Windows XP

我一直在使用LabVIEW Vi调用.Net dll(在v2.0中创建,不是强类型的,也不是在GAC中添加的),以及成功调用这些Vi的测试和序列

随着dll版本的更改,我将新的dll拖放到同一个位置,所有的麻烦都会消失。已经工作的Vi中断,如果我添加一个新Vi并指向新的dll,构造函数节点会抱怨“无法加载程序集”

我尝试了以下给出的解决方法:

我尝试了以下步骤:

  • 关闭LabVIEW和项目
  • 删除旧的dll
  • 打开LabVIEW,打开项目,打开任何试图使用旧dll的VI。 它找不到,所以我停止加载VI
  • 关闭labVIEW,在同一位置拖放新的dll(以及此dll使用的其他一些dll和exe,但它们保持不变)
  • 打开LabVIEW,打开项目,创建新VI,添加构造函数节点并将其指向新DLL
  • 关闭Vi而不保存它,打开现有Vi并将它们指向新的dll
  • 保存并关闭项目
  • 问题是,这种变通方法有时有效,但多次无效。即使我更改了步骤4,并将一个新DLL及其依赖项拖放到新位置(稍后将其带回来)并重复其他步骤,仍然无法以确定性的方式解决问题

    我已经尝试升级到Lv2014,但问题仍然存在。此外,如果任何时候它工作,我从TS运行相同的VI(并且我升级到了TS 2014,这本身就意味着要做大量的流程模型更改和代码更改),它会抱怨dll解析的路径之一失败。我回到LaBVIEW,现在它无法再次加载dll

    我在这项工作中损失了将近一个月的时间,因此非常感谢您的帮助。 我不能相信NI对此没有永久性的修复,或者如果有,除了我上面提到的那个,我不知道


    要么我做得不对,要么DLL需要以特定方式在VS 2010中构建,要么在运行LabVIEW/TS.net services seed时进行修改,同时复制新程序集,我不知道。

    我想您已经看过了。我不确定LV 8.5,但在较新版本中,您可以在方块图上指定DLL的路径。你为什么不把这个DLL添加到GAC?我是这个DLL的用户。构建它的人不希望它被添加到GAC,因为它被其他应用程序使用,而将它添加到GAC会给这些应用程序带来问题。