【发布时间】:2020-11-13 13:20:53
【问题描述】:
我正在使用带有 PowerShell 插件的 Visual Studio Code 来编辑和调试 PowerShell 脚本。由于我的脚本太大而无法处理,我将一些部分提取到几个 psm1 模块中。所有文件都位于 VSC 工作区的同一目录 - 根目录中。
如果我第一次使用 Ctrl+F5 运行脚本,所有文件都会被编译并执行脚本。但是,如果我随后对导入的模块文件 (*.psm1) 进行任何修改,这些更改将不会反映,而是使用旧版本的模块。
唯一有用的是关闭和重新打开 VSC。如何配置 VSC 以便在运行/调试之前重建/重新编译工作区中更改的(或所有)模块?
【问题讨论】:
-
Remove-Module $moduleName -Force; Import-Module $moduleName -
我没有得到解决方案。我添加了 $moduleName = "./mymodule.psm1" Remove-Module $moduleName -Force; Import-Module $moduleName 在我的脚本开头。结果是“Remove-Module:没有模块被删除。验证要删除的模块的规范是否正确,并且这些模块存在于运行空间中。”
-
如果您想实际重新加载模块,请在集成 shell 中运行(而不是 [Mark All]+[F5])
-
shell 出现同样的错误
-
如果模块不可发现,您将需要两个不同的参数:
Remove-Module mymodule -Force; Import-Module ./mymodule.psm1
标签: powershell visual-studio-code