Powershell dll加载

nas*_*ras 11 powershell .net-assembly

我有一个Powershell脚本调用C#库中的方法.库dll加载为:

[Reflection.Assembly]::LoadFrom("$automationHome\dll\abc.dll") | Out-Null
Run Code Online (Sandbox Code Playgroud)

现在,我的C#库中使用了另一个库xyz.dll.我相信我不需要在Powershell脚本中加载它,因为abc.dll将解析它.但是,我收到一个错误说:

无法加载文件或程序集'xyz,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一.该系统找不到指定的文件.

有人可以告诉我如何解决这个问题吗?

man*_*lds 7

LoadFrom() 理想情况下应该xyz.dll在同一目录中查找abc.dll

如果您从与dll相同的目录运行脚本,请添加以下内容然后执行 LoadFrom()

$currentScriptDirectory = Get-Location
[System.IO.Directory]::SetCurrentDirectory($currentScriptDirectory.Path)
Run Code Online (Sandbox Code Playgroud)

  • 获得当前路径的替代方法是$ PWD。 (2认同)