【问题标题】:How to load module which is in different folder via Nestedmodules?如何通过 Nestedmodules 加载位于不同文件夹中的模块?
【发布时间】:2018-02-05 19:03:48
【问题描述】:

我有 powershell 模块清单文件。我的 psm1 文件很少在同一个文件夹中,一个 psm1 文件在上一层。我正在尝试使用 NestedModules 如下。

NestedModules = @('Tpn.psm1',
                  'Tpn_Alerts.psm1',
                  '..\IOOperation.psm1',
                  'TestCases.psm1')

在列表中IOOperation.psm1 位于当前文件夹的上一层。所以我添加了 ..\ ,但失败如下:

Test-ModuleManifest : 模块清单“C:\repo\Tpn\Tpn.psd1”中指定的 NestedModule 条目“..\IOOperation.psm1”无效。 使用有效值更新此条目后重试。

我尝试使用$PsscriptRoot,它也不起作用。是否可以在不同的文件夹中添加 psm1?如果有怎么添加?

【问题讨论】:

    标签: powershell powershell-3.0


    【解决方案1】:

    所需模块不是嵌套模块,因为不在当前模块目录中。它是必需的模块。所以你应该使用RequiredModules 而不是NestedModules。并确保在加载模块之前正确设置$env:PSModulePath 变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-06
      • 2017-04-16
      • 2014-12-14
      • 1970-01-01
      • 2018-09-04
      • 1970-01-01
      • 2019-02-10
      • 1970-01-01
      相关资源
      最近更新 更多