无法加载“;lpsolve55.dll”;在64位操作系统上的VS2015中
本文关键字:64位 操作系统 VS2015 加载 lpsolve55 dll | 更新日期: 2023-09-27 17:58:32
对于我正在进行的项目,我需要求解一个数学模型。我选择使用Microsoft.Solver.Foundation和SolverFoundation.Plugin.LpSolve插件来完成此操作。这些扩展名的两个相关的.dll文件似乎都工作得很好,因为VS2015可以毫无问题地识别和引用它们,并且可以毫无错误地编译和运行我的程序。
然而,这取决于我试图实际解决我的优化,它需要"lpsolve55.dll"才能工作。我已经下载了这个dll并将其放在我项目的bin/Debug文件夹中,但由于某种原因,VS2015无法识别它
- 我不能简单地从"添加引用"选项卡浏览到它来引用它
- 不可能通过regsvr32 cmd提示符应用程序(取消)注册它,因为它没有任何DLL(取消)注册表入口点
- TlbImp.exe cmd提示应用程序无法处理它
因此,基本上,在发现上述情况后(在尝试了最常见的互联网解决方案后),我仍然对在尝试解决优化-时收到错误消息感到非常不满
无法加载DLL"lpsolve55.DLL":找不到指定的模块。(HRESULT:0x8007007E的异常)
更糟糕的是,我还有另一个项目,我在其中解决了一个类似的问题,其中使用lpsolve55.dll绝对没有问题…
一些快速的事实:
- 我参考了.NET框架4.5.2。我已经把它改成了4.5和4.0,但这并没有改变
- 因为据我所知,我的项目的bin/debug文件夹是相同的
- 我正在使用visualstudio2015开发一个完全更新的windows 10操作系统,64位
因此,我的问题是,你们中的一些人是否遇到过类似的问题,以及你们是否能够以某种方式解决它。
非常感谢!
经过仔细分析,我找到了问题的答案。老实说,就像大多数事情一样,它最终很简单。lpsolve55.dll无法识别,因为我在Path中没有新的bin文件夹,而我在旧项目中有这个文件夹。我只是忘了。
然而,进一步注意的是,在lpsolve55.dll目录添加到路径后,我仍然收到一个错误,告诉我找不到可以解决我的指令的模型。由于错误发生在我调用LPSolverDirective()时,一些研究让我看到了以下页面:
http://lpsolve.sourceforge.net/5.5/MSF.htm
上面的页面提供了一个完整而稳定的方法,说明如何使用Microsoft.Solver.Foundation.dll中的LPSolverPlugin访问lpsolve55.dll。按照链接中涉及编辑项目的bin/Debug和bin/Release文件夹的方法,我很快就启动并运行了LP模型。
故事的道德-阅读文档。我是一个编程整个多项目解决方案和使用自定义添加的dll的初学者,但希望这能帮助其他人体验到同样的体验。最后,我通过尝试不同的方法让它发挥作用学到了很多,所以没有浪费时间。