我有一个托管的C# dll,它使用DLLImport使用未管理的C++ dll。一切都很顺利。 然而,我想按照Microsoft的说明将那个未管理的DLL嵌入到我的托管DLL中:
所以我将非托管的dll文件添加到我的托管dll项目中,将属性设置为“嵌入式资源”,并将DLLImport修改为类似以下内容:
[DllImport("Unmanaged Driver.dll, Wrapper Engine, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null",
CallingConvention = CallingConvention.Winapi)]
其中'Wrapper Engine'是我的托管DLL的程序集名称,'Unmanaged Driver.dll'是非托管DLL
运行时我得到:
访问被拒绝。(来自HRESULT的异常:0x80070005(E_ACCESSDENIED))
我从MSDN和http://blogs.msdn.com/suzcook/中了解到这应该是可能的...