2012-02-15 7 views
1

クラスライブラリアプリケーションでssl接続を使用しようとしましたが、認証しようとしました 次のエラーメッセージが表示されます。クラスライブラリアプリケーションでsecurity.dllライブラリを見つけることができません

"'EnumerateSecurityPackagesW'という名前のエントリポイントをDLL 'security.dll'で見つけることができません。"

これについての身体経験はありますか?

答えて

1

Security.dllは、認証に使用されるSSPI実装を含むWindows DLLと同じ名前です。 DLLをロードするとき、ローカルのbinディレクトリはWindowsディレクトリの前にチェックされます。その結果、SSPI System.dllの代わりにSystem.dllがロードされています。

だから、特定の状況で、カスタムSecurity.dllが Cの前にロードされている場合:\ WINNT \ SYSTEM32 \ security.dllその後、LoadLibraryのは、それが(すでにロードされたDLL を持っていると考えて、それはだから、単にWin32のdllファイル、名前だけの問題で、バージョン の情報ではありません)。しかし、私たちが知っているように、これは正しいdllではないので、 の問題です。

回避策は、dllの名前を変更することです。

関連する問題