[DllImport("xx.dll", EntryPoint=“xxFunction”,CharSet=CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1:当CallingConvention = CallingConvention.Cdecl 调用正常,当为CallingConvention = CallingConvention.StdCall报“请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配”
2:测试了下,相同的C++ dll,不管CallingConvention 设置为CallingConvention.Cdecl 或StdCall都在别人的项目下都可以用,但在自己项目下CallingConvention 只能设置为Cdecl ,因此初步怀疑是VS解决方案或项目设置问题。
3:谢谢。