Tôi có một dll C # được quản lý sử dụng một dll C ++ không được quản lý bằng cách sử dụng DLLImport. Tất cả đều hoạt động tuyệt vời. Tuy nhiên, tôi muốn nhúng DLL không được quản lý đó vào bên trong DLL được quản lý của mình như giải thích của Microsoft ở đó:
Vì vậy, tôi đã thêm tệp dll không được quản lý vào dự án dll được quản lý của mình, đặt thuộc tính thành 'Tài nguyên được nhúng' và sửa đổi DLLImport thành một cái gì đó như:
[DllImport("Unmanaged Driver.dll, Wrapper Engine, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null",
CallingConvention = CallingConvention.Winapi)]
trong đó 'Wrapper Engine' là tên lắp ráp của DLL được quản lý của tôi 'Unmanaged Driver.dll' là DLL không được quản lý
Khi tôi chạy, tôi nhận được:
Truy cập bị từ chối. (Ngoại lệ từ HRESULT: 0x80070005 (E_ACCESSDENIED))
Tôi đã xem từ MSDN và từ http://blogs.msdn.com/suzcook/ điều đó được cho là có thể ...