Ich möchte DLL-Datei in meinem Website-Projekt importieren. Ich habe DLL-Datei "my.dll" im Verzeichnis C: \ DLLDir und ich bin mit dem Code:Asp.Net C# DllImport Problem
[DllImport("C:\\DLLDir\\my.dll", EntryPoint = "Out32")]
Dies funktioniert ok. Aber ich möchte relativen Pfad (Website-Stammpfad) verwenden. Ich versuche, „my.dll“ in „ist“ oder Stammordner zu setzen, und ich bin mit dem Code:
[DllImport("my.dll", EntryPoint = "Out32")]
aber ich erhalte die Fehlermeldung: Kann nicht DLL ‚my.dll‘ laden : Das ausgewählte Module kann nicht gefunden werden. (Ausnahme von HRESULT: 0x8007007E)
Irgendwelche Ideen?
Ich denke, dass es den absoluten Pfad zur DLL wollen. Server.MapPath sollte den Trick für Sie ausführen –
Server.MapPath gibt Ihnen die Pfade relativ zu Ihrem Webverzeichnispfad. Also, wenn Sie den absoluten Pfad bereits haben, wird es keinen Unterschied machen. –
Aber Server.MapPath erlaubt dem OP, einen relativen Pfad zur DLL zu verwenden, aber einen absoluten Pfad zu DLLImport zu übergeben. –