2016-07-25 10 views
0

私が取り組んでいるプロジェクトでは、数学的モデルを解く必要があります。私はこれをMicrosoft.Solver.FoundationとSolverFoundation.Plugin.LpSolveプラグインを使用して選択しました。 VS2015が問題なくそれらを認識して参照し、コンパイルしてエラーなしでプログラムを実行するので、これらの拡張子の関連する.dllファイルは正常に動作しているようです。64ビットOSのVS2015に "lpsolve55.dll"をロードできません

これは、私が実際に "lpsolve55.dll"が必要な最適化を実際に解決しようとするまで起こります。私はこのDLLをダウンロードしてプロジェクトのbin/Debugフォルダに入れましたが、何らかの理由でVS2015が認識できません。私。

  • 「参照の追加」タブから参照するだけでは参照できません。
  • DLL(Un)レジストリエントリポイントを持たないため、regsvr32 cmd-promptアプリケーションで登録(un-)することは不可能です。
  • TlbImp.exe cmd-promptアプリケーションで処理できません。私は最適化を解決しようとしながら、

だから、基本的には、(最も一般的なインターネットソリューションを試した後)上記を発見した後、私はまだエラーメッセージが表示されますするのは非常に不満を感じる -

にできません

DLLをロード 'lpsolve55.dll':指定されたモジュールが見つかりませんでした。 (HRESULTからの例外:0x8007007E)

奇妙な部分はまた、私は私がlpsolve55.dll使用して、すべてでは全く問題がない同様の問題を解決する別のプロジェクトを持っているということです....

いくつかの簡単な事実:

  • 私は.NETフレームワーク4.5.2を参照しています。私は4.5と4.0に変更しましたが、これは変更されませんでした。
  • 私の知る限り、私のプロジェクトのbin/debugフォルダは同じです。私は完全に更新されたWindowsに取り組んでいます
  • は10 OS、64ビット、2015年には

私の質問は、このようにかどうか、あなたのいくつかは同様の問題に遭遇したことになると、あなたができた場合はVisual Studioを使用しながら、何らかの方法でそれを解決する。

非常に高く評価!

+1

'lpsolve55.dll'が32ビットdllの場合、プロジェクトを32ビットプロジェクトとしてコンパイルする必要があるかもしれません。 –

+1

と、どのようにコードからそのDLLにアクセスしていますか?あなたは '[DllImport]'を使っていますか?あなたが参照している別のDLLによって使用されていますか? –

+0

私と一緒に考えていただきありがとうございます。限り、32ビットの可能性として、私はこれが問題であると思わない。もう一つのプロジェクトは "Any CPU"モードで構築されていますが、私が現在取り組んでいるプロジェクトだけでなく、設定に関してはコンパイラの違いはありません。 Dllimprotに関しては、lpsolve55.dllが他のプロジェクトのいずれかによって参照されているので、私はそれを使用しません(私はそれが完全に認識されるSolverFoundation.Plugin.LpSolveだと信じています。 LpSolve55、しかし、私はこれが私の特定のDLLのためにユニークではないエラーだと思う。 –

答えて

0

慎重に分析した結果、問題の答えが見つかりました。正直言って、ほとんどのものがそうであるように、それは結局かなり単純でした。私が古いプロジェクトで持っていたパスに新しいbinフォルダがないため、lpsolve55.dllが認識されませんでした。私は単に忘れてしまった。

さらに、lpsolve55.dllディレクトリがパスに追加された後も、自分のディレクティブを解決できるモデルが見つからないというエラーが表示されました。ページの上

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

がまっすぐLPSolverPluginを使用してlpsolve55.dllのアクセスも方法の完全かつ安定した方法を提供します:私はLPSolverDirective()を呼び出したときにエラーが発生しましたので、いくつかの研究は、次のページで私を上陸しましたMicrosoft.Solver.Foundation.dllから削除します。私のプロジェクトのbin/Debugとbin/Releaseフォルダの編集を含むリンクのメソッドに従った後、私はLPモデルを稼働させて、すぐに実行します。

話の士気 - ドキュメントを読んでください。私は、マルチプロジェクトソリューション全体をプログラミングし、カスタムで追加されたDLLを使用する初心者ですが、うまくいけば、これは他の誰かが同じことを経験するのに役立ちます。結局、私はそれを稼働させるためのさまざまな方法を試すだけで多くを学んだので、時間が無駄になりませんでした。

関連する問題