Loading dlls from path specified in SetdllDirectory in c#
I'd suggest adding the directory path to PATH env variable in runtime, using the following code:
var dllDirectory = @"C:/some/path";
Environment.SetEnvironmentVariable("PATH", Environment.GetEnvironmentVariable("PATH") + ";" + dllDirectory);
That way, the change is only affecting the running process and is discarded when it exits.
Rohit Garg
Updated on July 11, 2020Comments
-
Rohit Garg almost 4 years
I am new in dotnet.I have a dotnet dll that loads a
c
dll by usingDllImport
. I want to place all the dlls in a folder which is diffrent from the location of application. I dont want to modify environmental variables. So i usedsetdlldirectory
API and load my c# assembly throughAssembly.Loadfrom(..)
. I checked thatSetdllDirectory
is working fine by verifying the value ofGetDllDirectory(..)
. But it is neither loading C# dll nor c dll from that folder. I am able to loadC#
dll by specyfing the path inAssembly.Loadfrom
. But not able to load c dll.Thanks in advance!!