我不能让用于 MSF 的 LPSolvePlugIn 在 64 位操作系统上工作。(内部 ac# dll 托管从 asp mvc 3 应用程序调用)
有没有特定的版本?我应该构建面向 x86 的应用程序吗?我应该将求解器插件从源代码重建为目标 x64 吗?
我很茫然,关于插件的文档不多,最新的代码似乎针对 MSF 2.0.7(我目前有 3.0.1 或 3.0.2)
任何帮助,将不胜感激。我会在星期一检查并在需要时添加更多信息。
谢谢
我不能让用于 MSF 的 LPSolvePlugIn 在 64 位操作系统上工作。(内部 ac# dll 托管从 asp mvc 3 应用程序调用)
有没有特定的版本?我应该构建面向 x86 的应用程序吗?我应该将求解器插件从源代码重建为目标 x64 吗?
我很茫然,关于插件的文档不多,最新的代码似乎针对 MSF 2.0.7(我目前有 3.0.1 或 3.0.2)
任何帮助,将不胜感激。我会在星期一检查并在需要时添加更多信息。
谢谢
我终于解决了。
我得到了 MSF 标准 3.0.2 64 位。在 64 位机器上使用 lpsolve55.dll 为 64 位编译 LPSolvePlugin 代码(来自http://www.peno.be/MSF/ )(从http://sourceforge.net/projects/lpsolve/获得)
将 lpsolveplugin.dll 和 lpsolve55.dll 复制到 msf 的 plugins 文件夹中
在我的 web 服务的 web.config 中添加了以下内容(如果需要,可以添加到桌面应用程序的 app.config 中)
<configSections>
<section name="MsfConfig"
type="Microsoft.SolverFoundation.Services.MsfConfigSection, Microsoft.Solver.Foundation, Version=3.0.2.10889, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
allowLocation="true"
allowDefinition="Everywhere"
allowExeDefinition="MachineToApplication"
restartOnExternalChanges="true"
requirePermission="true" />
</configSections>
<MsfConfig>
<MsfPluginSolvers>
<MsfPluginSolver name="LpSolveLP"
capability="LP"
assembly="LpSolvePlugIn.dll"
solverclass="SolverFoundation.Plugin.LpSolve.LpSolveSolver"
directiveclass="SolverFoundation.Plugin.LpSolve.LpSolveDirective"
parameterclass="SolverFoundation.Plugin.LpSolve.LpSolveParams" />
<MsfPluginSolver name="LpSolveMIP"
capability="MILP"
assembly="LpSolvePlugIn.dll"
solverclass="SolverFoundation.Plugin.LpSolve.LpSolveSolver"
directiveclass="SolverFoundation.Plugin.LpSolve.LpSolveDirective"
parameterclass="SolverFoundation.Plugin.LpSolve.LpSolveParams" />
</MsfPluginSolvers>
</MsfConfig>
它奏效了。
希望能帮助到你!
我有一个 VS 2012 Express,我在 lpsolve55.dll / LpSolvePlugIn.dll 中遇到“BadImage”错误。
然后,我与 C# 示例(http://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.0/上的 lp_solve_5.5.2.0_cs.net.zip )进行比较,发现我一更改项目从 4.5 到“.NET Framework 4.0”的属性/应用程序/目标网络开始工作:-)
在放弃之前,我尝试了一段时间。首先,您可能正在使用 MSF 的 xpress 版本。您将很快达到一些限制。至于获得专业版或教育版,祝你好运。我不能。我什至找不到购买 3.0.1 的地方,因为 MSF 已被 MS 弃用。我最终决定调用你可以在这里找到的原始 c++ 代码 http://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.0/ 你会找到一些关于如何从 C# 调用的例子。另一个优点是没有限制。让我知道你是否设法用 MSF 3.0.1 解决了...