Powershell 添加类型 - 路径锁定文件

kil*_*wuk 5 powershell

我一直在用

Add-Type -Path "Path to dll"

用于将 .NET 程序集加载到 Powershell (v3) 脚本中。我发现这会导致 dll 文件被锁定,直到 powershell 控制台终止。

有什么办法可以防止这种情况发生吗?我可以在脚本结束时以某种方式关闭或删除我的引用以释放对此文件的锁定吗?

Mar*_*ndl 7

是的,您可以将 dll 读入内存并使用反射加载程序集:

$bytes = [System.IO.File]::ReadAllBytes($storageAssemblyPath)
[System.Reflection.Assembly]::Load($bytes)
Run Code Online (Sandbox Code Playgroud)

我添加了这个解决方案作为如何在 PowerShell 中加载程序集的答案

  • 将结果通过管道传送到“Out-null”。所以将第二行更改为:`[System.Reflection.Assembly]::Load($bytes) | 出空` (2认同)