C#-DllImport 路径问题

原文: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);   // 这种方式只会修改当前进程的环境变量
    }
相关文章
相关标签/搜索