我无法在64位OS上制作MSF的LPSOLVEPLUGIN。(在ASP MVC 3应用程序中托管的C#DLL中)
有特定版本吗?我应该构建针对X86的应用程序吗?我应该将求解器插件从源代码重建到Target X64吗?
我不知所措,插件上没有太多文档,最新的代码似乎针对MSF 2.0.7(我目前有3.0.1或3.0.2)
任何帮助将不胜感激。我将在星期一检查并在需要时添加更多信息。
谢谢
我终于解决了。
我掌握了MSF标准3.0.2 64bits。使用LPSOLVEPLUGIN代码(来自http://www.peno.be/msf/)在64位计算机中使用lpsolve55.dll(64位)(从http://sourceforge.net/project/project/projects/lpsolve/provels/lpsolve/provely for lpsolve55.dll)>
复制了lpsolveplugin.dll和lpsolve55.dll到MSF
的插件文件夹在我的WebService的Web.config中添加了以下内容(可以添加到desktop应用程序的应用程序。
<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"错误。i然后将与c#示例进行比较(lp_solve_5.5.2.0_cs.net.zip at http://sourceforge.net/projects/projects/lpsolve/files/files/lpsolve/5.5.2.0/),发现我很快就发现了将项目属性/应用程序/目标网络从4.5更改为" .NET Framework 4.0",它开始工作: - )
我在放弃之前尝试了一段时间。首先,您可能正在使用MSF的Xpress版本。您将很快达到一些限制。至于获得专业或教育版本,祝您好运。我不能。我什至找不到可以购买3.0.1的地方,因为无国界医生已从MS中删除。我终于决定调用您可以在此处找到的原始C 代码http://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.5.2.0/您会找到有关如何从C#打电话的示例。另一个优点是没有限制。让我知道您是否设法用MSF 3.0.1 ...