原文:C# DllImport 相对路径没法找到dllhtml
DllImport DLL查找顺序:
一、应用程序所在目录
二、Windows目录和Windows\System32目录
三、环境变量目录post
只须要你把引用的DLL 拷贝到这三个目录下 就能够不用写路径了url
最后的解决办法:动态设置当前进程的环境变量,把sdk所在的目录添加到环境变量中,这其内部就能够找到本身的dll了spa
/// <summary> /// 添加环境变量 /// </summary> /// <param name="paths">路径列表</param> internal static void AddEnvironmentPaths(IEnumerable<string> paths) { var path = new[] { Environment.GetEnvironmentVariable("PATH") ?? string.Empty }; string newPath = string.Join(Path.PathSeparator.ToString(), path.Concat(paths)); Environment.SetEnvironmentVariable("PATH", newPath); // 这种方式只会修改当前进程的环境变量 }