在Powershell中重新加载修改后的类

Dov*_*hef 7 powershell powershell-5.0

我有一个包含类定义的脚本文件.使用新的V5 Powershell语法.我有另一个脚本文件,它点源类并使用它.我正在控制台中测试该文件.

在干净启动控制台时,它将正确加载类.然后我对类进行了一些更改并将它们保存回文件.重新运行脚本似乎不会选择更改.就好像一旦加载到控制台中,该类是不可变的,不会被解析和重新加载.

这在开发时真的很痛,因为我必须在对类进行任何更改后启动一个新的控制台.

有没有办法强制Powershell每次看到它时重新加载类?

这发生在Powershell ISE和Powershell控制台(使用vscode)中调试的代码中.

Ben*_*est 2

这是 中的类的一个已知问题Powershell,在撰写本文时该问题似乎仍未解决。

今天要解决这个问题,您要么需要启动一个新的交互式会话(您不想这样做),要么在 Powershell 的子实例中加载您的开发类:

powershell.exe -Command { Your-Code }

# Alternatively, write a script to test your newly updated class
powershell.exe -File \path\to\Test-ClassScript.ps1
Run Code Online (Sandbox Code Playgroud)