2011-01-25 10 views
2

私のWebアプリケーションはWPF(XBAP)で書かれています.p/win32 dll(player.dllはCとC++で書かれています)を呼び出します。私はアプリケーションを配備しました。私はIEでWebアプリケーションを実行しようとしたとき、最初に私は、このエラーました:Webアプリケーションのコンテキストでwin32 dllと.net dllの違いはありますか?

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

をしかし、私は手動でクライアントPCのC:\Windows\System32に私のwin32の DLLをコピーした際に、それも私のWebアプリケーションが使用するものの、働いていましたいくつかの他の.Net dllと私は手動でそれらをコピーしていない。

なぜ私は正確に win32 dllをクライアントPCにコピーする必要があるのか​​、混乱しています.Net dllではありませんか? Webアプリケーションはそれらにアクセスしますか?

-

関連トピックはこれです:

DllNotFoundException when web application p/invokes a win32 DLL

答えて

1

アセンブリ(.NET)を見つけるためのルールネイティブDLLを配置するためのと同じではありません。ここでは、2つのルールセットは次のとおりです。

+0

? VC++で自分自身を作成し​​たものも含まれていますか? – Nawaz

+0

ネイティブDLLは、.NET以外のアセンブリDLLを意味します。ネイティブDLLは、関数とデータ、およびリソースをエクスポートします。例としては、User32.dllなどのシステムコンポーネントやVisual C++でビルドしたDLLなどがあります。一方、アセンブリは何もエクスポートしません(エクスポートテーブルは空です)。これらは、CLRで使用する特別な(ネイティブでない)DLLであり、任意の.NET言語から使用できます。 –

関連する問題