无法在 64 位 OS 的 VS2015 中加载 "lpsolve55.dll"

Unable to load "lpsolve55.dll" in VS2015 on 64-bits OS

对于我正在从事的项目,我需要解决一个数学模型。我选择使用 Microsoft.Solver.Foundation 和 SolverFoundation.Plugin.LpSolve 插件来做到这一点。这些扩展的两个关联的 .dll 文件似乎都可以正常工作,因为 VS2015 可以毫无问题地识别和引用它们,并且可以毫无错误地编译和运行我的程序。

然而,直到我尝试真正解决我的优化,这需要 "lpsolve55.dll" 才能工作。我已经下载了这个 dll 并将其放在我项目的 bin/Debug 文件夹中,但由于某种原因 VS2015 无法识别它。即

所以基本上,在发现以上内容之后(在尝试了最常见的互联网解决方案之后),我仍然对在尝试解决优化时收到错误消息感到非常不满意 -

Unable to load DLL 'lpsolve55.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

奇怪的是我还有另一个项目,我在其中解决了类似的问题,使用 lpsolve55.dll 完全没有问题...

一些小知识:

因此我的问题是你们中的一些人是否遇到过类似的问题,以及你们是否能够以某种方式解决它。

非常感谢!

经过仔细分析,我找到了问题的答案。老实说,就像大多数事情一样,到头来还是很简单的。 lpsolve55.dll 未被识别,因为我在路径中没有新的 bin 文件夹,而我的旧项目确实有。我只是忘记了。

然而,进一步注意,在将 lpsolve55.dll 目录添加到路径后,我仍然收到错误消息,告诉我没有找到可以解决我的指令的模型。由于错误发生在我调用 LPSolverDirective() 时,一些研究使我进入了以下页面:

http://lpsolve.sourceforge.net/5.5/MSF.htm

上页给出了如何使用 LPSolverPlugin 直接从 Microsoft.Solver.Foundation.dll 访问 lpsolve55.dll 的完整且稳定的方法。按照 link 中涉及编辑我的项目的 bin/Debug 和 bin/Release 文件夹的方法后,我很快就得到了 LP 模型和 运行。

故事的士气 - 阅读文档。我在编写整个多项目解决方案和使用自定义添加的 dll 方面有点初学者,但希望这可以帮助其他人遇到同样的情况。最后,通过简单地尝试不同的方法让它工作,我学到了很多东西,所以没有浪费时间。