Ho una dll C # gestita che utilizza una dll C ++ non gestita utilizzando DLLImport. Funziona tutto alla grande. Tuttavia, voglio incorporare quella DLL non gestita all'interno della mia DLL gestita come spiegato da Microsoft lì:
Quindi ho aggiunto il file dll non gestito al mio progetto dll gestito, ho impostato la proprietà su "Risorsa incorporata" e ho modificato DLLImport in qualcosa di simile:
[DllImport("Unmanaged Driver.dll, Wrapper Engine, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null",
CallingConvention = CallingConvention.Winapi)]
dove "Wrapper Engine" è il nome dell'assembly della mia DLL gestita "Unmanaged Driver.dll" è la DLL non gestita
Quando corro, ottengo:
L'accesso è negato. (Eccezione da HRESULT: 0x80070005 (E_ACCESSDENIED))
Ho visto da MSDN e da http://blogs.msdn.com/suzcook/ che dovrebbe essere possibile ...