在Kofax文档验证脚本中引用VB.NET DLL

在Kofax文档验证脚本中引用VB.NET DLL,vb.net,dll-reference,kofax,Vb.net,Dll Reference,Kofax,我们正在为VB.NET 3.5中的Kofax Capture 9.0/10.0编写验证脚本。 我们知道如何使用管理模块创建脚本,以及如何使其运行 问题是我们需要引用一个位于远程机器上的dll。(GAC没有选项)此dll保存每个验证脚本中所需的抽象类 即使将DLL放在本地(复制本地),验证模块(index.exe)也会立即抛出“找不到引用”异常,即使项目编译得很好 我想基本问题归结为:为了让验证模块找到dll,我们应该将dll放在哪里?简单的答案是将dll放在与应用程序相同的文件夹中,因为这是.N

我们正在为VB.NET 3.5中的Kofax Capture 9.0/10.0编写验证脚本。 我们知道如何使用管理模块创建脚本,以及如何使其运行

问题是我们需要引用一个位于远程机器上的dll。(GAC没有选项)此dll保存每个验证脚本中所需的抽象类

即使将DLL放在本地(复制本地),验证模块(index.exe)也会立即抛出“找不到引用”异常,即使项目编译得很好


我想基本问题归结为:为了让验证模块找到dll,我们应该将dll放在哪里?

简单的答案是将dll放在与应用程序相同的文件夹中,因为这是.NET在尝试查找dll时要探测的地方之一。验证模块从Capture-bin目录运行,该目录类似于“C:\Program Files(x86)\Kofax\CaptureSS\ServLib\bin\”。这需要使用验证在每个客户机上进行

如果您有一个更复杂的场景,您可以考虑实现和使用从自定义位置获取程序集,但使用bin路径则不那么复杂

如果最终遇到进一步的问题,可以使用进行故障排除,它可以告诉您有关程序集加载失败的原因以及.NET尝试在何处搜索该程序集的更多详细信息。程序集加载可能由于路径以外的原因而失败

有关.NET如何加载程序集的详细信息,请参见以下内容:


我们找到了一个解决方案:将所有库文件作为“链接”添加到项目中。(添加-->现有文件-->添加-->添加为链接旁边的小箭头)
这样可以确保在生成项目时编译文件。Kofax验证模块现在可以找到这些文件,而在引用该文件时却找不到。为什么它不能,仍然是一个谜……

这对我们来说并不奏效。我们不能将包含所有抽象类的库复制到每个客户机,因为这违背了它的目的。