Saya memiliki dll C # terkelola yang menggunakan dll C ++ tidak terkelola menggunakan DLLImport. Semuanya bekerja dengan baik. Namun, saya ingin menyematkan DLL yang tidak terkelola itu di dalam DLL terkelola saya seperti yang dijelaskan oleh Microsoft di sana:
Jadi saya menambahkan file dll yang tidak dikelola ke proyek dll yang saya kelola, mengatur properti ke 'Sumber Daya Tertanam' dan memodifikasi DLLImport menjadi seperti:
[DllImport("Unmanaged Driver.dll, Wrapper Engine, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null",
CallingConvention = CallingConvention.Winapi)]
di mana 'Mesin Pembungkus' adalah nama rakitan dari DLL terkelola saya 'Driver.dll' adalah DLL yang tidak terkelola
Saat saya berlari, saya mendapatkan:
Akses ditolak. (Pengecualian dari HRESULT: 0x80070005 (E_ACCESSDENIED))
Saya melihat dari MSDN dan dari http://blogs.msdn.com/suzcook/ itu seharusnya mungkin ...