2011-02-09 13 views
0

私のVSを使ってローカルにウェブサイトを実行すると、すべて動作します。IISでウェブサイトを実行しているときにDLLを見つけることができません

私は、P/Invokeを使用してDLL内の関数を呼び出しています。 DLLはC++で動作します。

私はIIS上のWebサイトを展開するとき、私は、DLLはbinフォルダ内に存在するエラーメッセージ

Unable to load DLL 'SolvingProbelm.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) 

を取得します。アプリケーションプールはClassicと.net 2.0です。

いずれかの提案があります。

ありがとうございます。

+0

あなたのアセンブリは、 'Path'環境変数にリストされたフォルダ内になければなりませんか? – wsanville

+2

http://www.dependencywalker.com/を使用してDLLの依存関係を確認してください –

+0

DLL名のスペルミスは意図的ですか?問題の詳細をいくつか収集するには、dependencywalker(http://www.dependencywalker.com/)を使用して、dllに未解決の依存関係があるかどうかを確認します。 –

答えて

1

私は一度同様の問題に直面しました。 SolvingProbelm.dllからC:\WINDOWS\System32にコピーしてください。うまくいけば、それは動作します!それは私の状況で働いていた。実際には、ネイティブDLLと.Net DLLは別々に検索されます。 IISはC:\Windows\System32フォルダ内のネイティブDLLも検索します。そこであなたのDLLをコピーすると問題が解決します!

+0

私はsystem32フォルダに追加しましたが、成功しません。 – InfoLearner

関連する問題