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

时间:2016-11-30 06:37:51

标签: powershell powershell-v5.0

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

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

这在开发时真的很痛,因为我必须在改变一个类之后启动一个新的控制台。

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

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

1 个答案:

答案 0 :(得分:1)

这是本文撰写时Powershelllooks like the issue remains unresolved中的类的一个已知问题。

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

powershell.exe -Command { Your-Code }

# Alternatively, write a script to test your newly updated class
powershell.exe -File \path\to\Test-ClassScript.ps1