Mam zarządzaną bibliotekę dll C #, która używa niezarządzanej biblioteki dll C ++ przy użyciu biblioteki DLLImport. Wszystko działa świetnie. Jednak chcę osadzić tę niezarządzaną bibliotekę DLL w mojej zarządzanej bibliotece DLL, jak wyjaśniono tam przez firmę Microsoft:
Dodałem więc niezarządzany plik dll do mojego zarządzanego projektu dll, ustawiłem właściwość na `` Zasób osadzony '' i zmodyfikowałem plik DLLImport na coś takiego:
[DllImport("Unmanaged Driver.dll, Wrapper Engine, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null",
CallingConvention = CallingConvention.Winapi)]
gdzie „Wrapper Engine” to nazwa zestawu mojej zarządzanej biblioteki DLL „Unmanaged Driver.dll” to niezarządzana biblioteka DLL
Kiedy biegam, otrzymuję:
Odmowa dostępu. (Wyjątek od HRESULT: 0x80070005 (E_ACCESSDENIED))
Widziałem z MSDN i http://blogs.msdn.com/suzcook/ , co powinno być możliwe ...