Roh*_*arg 6 c c# windows winapi
我是dotnet的新手.我有一个dotnet dll,c通过使用加载一个dll DllImport.我想将所有dll放在一个与应用程序位置不同的文件夹中.我不想修改环境变量.所以我使用setdlldirectoryAPI并加载我的c#程序集Assembly.Loadfrom(..).我SetdllDirectory通过验证值来检查它是否正常工作GetDllDirectory(..).但它既不从该文件夹加载C#dll也不加载c dll.我可以C#通过specyfing路径加载DLL Assembly.Loadfrom.但是无法加载c dll.
提前致谢!!
小智 14
我建议使用以下代码在运行时将目录路径添加到PATH env变量:
var dllDirectory = @"C:/some/path";
Environment.SetEnvironmentVariable("PATH", Environment.GetEnvironmentVariable("PATH") + ";" + dllDirectory);
Run Code Online (Sandbox Code Playgroud)
这样,更改只会影响正在运行的进程,并在退出时被丢弃.