0
MSDNは.NET P/DllImportAttribute.Valueプロパティの明確化を呼び出します
が、これは意味していますが、何のパスを提供しない場合は、DLLは、実行 時
で、現在のパスになければなりませんと言います現在実行中のディレクトリまたはシステムPATH環境変数にリストされているディレクトリの1つ?
TIA。
MSDNは.NET P/DllImportAttribute.Valueプロパティの明確化を呼び出します
が、これは意味していますが、何のパスを提供しない場合は、DLLは、実行 時
で、現在のパスになければなりませんと言います現在実行中のディレクトリまたはシステムPATH環境変数にリストされているディレクトリの1つ?
TIA。
どちらもありません。 Windowsは、以下の手段の1つを介してDLLを見つけることができなければなりません:
第1のものを優先し、第2のものにフォールバックする必要があります。
64ビットマシン用にc:\ windows \ syswow64を追加していただきありがとうございます。私はこのサービスがネイティブDLLを使用するWCF環境内でどのように動作するかを理解しようとしています。この場合、これらのネイティブはサービスlibと同じディレクトリからロードされないため、architctureに応じてsystem32またはsyswow64からロードされます。これは正しいです? –
これは自動的です.32ビットプロセスは、system32の代わりにsyswow64にリダイレクトされます。 –
64ビットOSでは、SysWow64には32ビットのDLLが含まれています。それらは32ビットのexes用です。 System32には、64ビットのDLLが含まれています。後ろ向きですが、機能します。 64ビットのexeは32ビットのdllをロードできないため、逆に32ビットのexeは64ビットのdllをロードできないため、パスにはもう一方のパスは含まれません。 –