我无法让 LPSolvePlugIn for MSF 在 64 位操作系统上运行。 (在从 asp mvc 3 应用程序调用的托管的 c# dll 中)
这个有具体的版本吗? 我应该构建面向 x86 的应用程序吗? 我应该从源代码重建求解器插件到目标 x64 吗?
我很茫然,关于插件的文档不多,最新的代码似乎是针对 MSF 2.0.7(我目前有 3.0.1 或 3.0.2)
如有任何帮助,我们将不胜感激。我会在星期一查看并在需要时添加更多信息。
谢谢
最佳答案
我终于解决了。
我得到了 MSF 标准 3.0.2 64 位。 使用 lpsolve55.dll 在 64 位机器上编译 LPSolvePlugin 代码(来自 http://www.peno.be/MSF/ )(来自 http://sourceforge.net/projects/lpsolve/ )
复制lpsolveplugin.dll和lpsolve55.dll到msf的plugins文件夹
在我的网络服务的 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>
它奏效了。
希望对您有所帮助!
关于c# - Microsoft Solver Foundation 的 LpSolve 插件不适用于 64 位操作系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12982022/