Vista DLLImport问题C#

[DllImport(“DoSomething.dll”,EntryPoint =“something_dump”,SetLastError = true)] private static extern void something_dump(IntPtr dumper);

当我在XP机器上运行此DLLImport时,它工作正常,但在Vista上我收到异常:

无法加载DLL'DoSomething.dll':无法找到指定的模块。 (来自HRESULT的异常:0x8007007E)

在位于Windows / System32目录的两台机器上,但由于某种原因,Vista不会加载它。

当我完全限定Vista机器上的路径时... DllImport(“C: WINDOWS system32 DoSomething.dll”...它的工作原理!

我真的必须告诉vista机器上的DLLImport功能才能查看system32目录吗?


问题是有人正在应对dll到当前的解决方案输出目录......问题是他们没有将dll的依赖项复制到输出目录中......所以不知怎的,XP可以解决这些依赖关系,Vista将会失败。 (这两个操作系统上的DLL完全相同)

解决方案:删除系统dll到当前解决方案输出目录的应对...


把你的dll放到“文件设置管理员”这个路径上工作。

请注意,您需要将所有支持文件示例.ino或.txt文件支持也放到该dll中。

它会正常工作。

祝一切顺利。

问候,Prasath

链接地址: http://www.djcxy.com/p/7735.html

上一篇: Vista DLLImport Problem C#

下一篇: How to add folder to assembly search path at runtime in .NET?