.NET P / Invoke对DllImportAttribute.Value属性的澄清

时间:2012-01-05 20:31:57

标签: .net pinvoke dllimport

MSDN

  

如果未提供路径,则DLL必须位于运行时的当前路径中   时间

这是指当前正在执行的目录还是系统PATH环境变量中列出的其中一个目录?

TIA。

1 个答案:

答案 0 :(得分:1)

都不是。 Windows必须能够通过以下方法之一找到DLL:

  • 与EXE相同的目录
  • SetDllDirectory()中指定的目录(如果使用
  • 系统目录(默认情况下为c:\ windows \ system32)
  • 16位系统目录(默认情况下为c:\ windows \ system)
  • 当前默认目录(Environment.CurrentDirectory)
  • PATH环境变量中列出的目录之一

你应该高度赞成第一个,然后回到第二个。