c# - Microsoft Solver Foundation 的 LpSolve 插件不适用于 64 位操作系统

标签 c# 64-bit ms-solver-foundation lpsolve

我无法让 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/

相关文章:

linear-programming - 为已知解决方案添加约束会导致越界异常

c# - 为什么我的输出从军用时间变为标准时间?

c# - LINQ to SQL *编译*查询以及它们何时执行

cygwin - 是否建议从 Cygwin 32 位切换到 Cygwin 64 位?

macos - 如何强制/usr/bin/gcc ->/usr/bin/gcc -m32?

c# - 无法将类型 'Microsoft.SolverFoundation.Services.Term' 隐式转换为 'bool'

c# - Microsoft Solver Foundation 位置分散目标

c# - NunitTest 控制台输出

c# - GetValue、GetConstantValue 和 GetRawConstantValue 之间的区别

php - WAMP 64x 与应用程序不起作用