C#-DllImport 路径问题
DllImport DLL查找顺序:
1、应用程序所在目录
2、Windows目录和Windows\System32目录
3、环境变量目录
只需要你把引用的DLL 拷贝到这三个目录下 就可以不用写路径了
最后的解决办法:动态设置当前进程的环境变量,把sdk所在的目录添加到环境变量中,这其内部就可以找到自己的dll了
/// <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); // 这种方式只会修改当前进程的环境变量 }