我正在使用以下代码从C#执行Powershell脚本文件:
Runspace _rs = RunspaceFactory.CreateRunspace();
_rs.ApartmentState = ApartmentState.STA;
_rs.Open();
PipeLine _pipeLine = _rs.CreatePipeline();
Command scriptCommand = new Command(filePath);
_pipeLine.Invoke();
在powershell脚本文件中,我正在引用库:
Add-Type -Path Filepath.dll
在C#中,我正在布置运行空间和管道后缀,以尝试解锁关联的库。
finally
{
_rs.Dispose();
_pipeLine.Dispose();
}
很遗憾,在以后的步骤中,当尝试删除脚本中关联的dll文件时,我收到了UnauthorizedException。请注意,如果我从不运行C#脚本,则不会得到例外。我认为应该对此有保留。