Win 7 DllImport C#奇怪的错误,无法访问内存位置?

Jam*_*mes 8 c# dllimport

我正在使用DllImport从我的C#应用​​程序访问C++ DLL中的一些函数.

这个代码在我的开发笔记本电脑上工作正常,这是Windows 7 64位,dll本身是32位,所以我运行托管dbit在32位的进程,它运行良好.但是,当我尝试在我的目标计算机上运行完全相同的进程时,Windows 7 64bit Ultimate我得到错误"无效访问内存位置".从过程中.

我不确定问题是什么,我看了网上的大量资源,但没有一个能为我解决.我不明白为什么它在我的开发盒上工作正常,但不在目标上?

dll本身很好,dll附带的示例都可以在我的目标框中正常工作(这是C#应用程序正在执行DllImport).

有没有其他人有这个问题?现在已经打了两天了!

例外: {"Unable to load DLL 'CLEyeMulticam.dll': Invalid access to memory location. (Exception from HRESULT: 0x800703E6)"}

The*_*Sky 0

我以前也遇到过这个问题。我认为你的问题是 VS 尝试打开该文件但没有读取它的权限。您需要确保您使用的帐户有权访问该 DLL。尝试禁用 UAC 以查看其是否有效,或使用管理员帐户。或者尝试Full Control将 DLL提供给Everyone.

编辑:你能以管理员身份运行VS吗(右键单击->以管理员身份运行)?你能把DLL放到你的桌面上试试吗?您的工作计算机和故障计算机之间的文件夹结构是否存在差异?另外,如果你在VS之外执行DLL,它可以正常运行吗(也可以尝试以管理员身份运行它)?

华泰