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?