I have a Powershell script that calls a method in a C# library. The library dll is loaded as:
[Reflection.Assembly]::LoadFrom("$automationHome\dll\abc.dll") | Out-Null
Now, my C# library uses another library xyz.dll in it. I believe I don't need to load this in Powershell script, since the abc.dll will resolve it. However, I am getting an error saying:
Could not load file or assembly 'xyz, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
Can someone please tell me how to fix this?
LoadFrom()
should ideally look for the xyz.dll
in the same directory as abc.dll
If you are running the script from the same directory as the dlls, add the below and then do the LoadFrom()
$currentScriptDirectory = Get-Location
[System.IO.Directory]::SetCurrentDirectory($currentScriptDirectory.Path)
Make sure the dependency dll xyz is in the path that LoadLibrary will use. I think in your case that will be anything local to the powershell script, anything in a sub directory of the power shell script, or anything in the path variable or in the GAC.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With