无法在其他PC上运行Windows Form应用程序,无法从具有相同解决方案的项目中找到dll

时间:2019-06-22 17:18:06

标签: c# .net

(首先,我是这种编程的新手) 我正在尝试制作一个Windows窗体应用程序,在该应用程序中我从PLC请求数据,以便可以将其存储在访问数据库中。该应用程序将在其他计算机上运行。 在我创建的解决方案上,除了我的项目外,我还使用一个与项目和PLC之间的通信“类似”的现有项目,称为LibplctagWrapper(在我的主项目中,我创建了对最后一个的引用) (https://www.mesta-automation.com/how-to-communicate-to-an-allen-bradley-plc-with-c-and-libplctag-ethernet-ip-library/), 并且可以在我的PC上运行,但是每次将Bin文件夹复制到新计算机上,然后运行该应用程序时,它将打开,但是会出现警告弹出消息。说:无法加载DLL“ plctag.dll”:找不到指定的模块。 (来自HRESULT的异常:0x8007007E)。

LibplctagWrapper位于我的解决方案和主项目之外的另一个目录中,所以我将其移至C:因此新计算机上的方向将相同。但这是行不通的。(也复制新PC的C:中的LibplctagWrapper)

将整个解决方案/主项目也移到了C:上……同样的结果。

我不仅复制了bin文件夹,还复制了整个项目文件夹...我认为问题与LibplctagWrapper方向不同的事实有关吗?但我不知道如何将其放置在同一方向上。我在Visual Studio上搜索,但从未见过移动它的选项。

无法加载DLL“ plctag.dll”:找不到指定的模块。 (来自HRESULT的异常:0x8007007E)。

2 个答案:

答案 0 :(得分:0)

此错误消息非常笼统,缺少相关性可能导致它以及所提到的模块根本不存在。检查Dependency Walker(http://www.dependencywalker.com/),以发现所需的C ++运行时或类似的东西。记住要考虑x86 / x64。

答案 1 :(得分:0)

@JavierMata-我想您可能已经解决了这个问题,但是对于其他遇到类似问题的人,您可以使用最近发布的官方包装,可以通过nuget下载。 Github链接:https://github.com/libplctag/libplctag.NET

libplctag.NativeImport包可以处理加载适当的C运行时,因此您不必这样做。

相关问题