如何通过Nestedmodules加载不同文件夹中的模块?

时间:2018-02-05 09:13:21

标签: powershell powershell-v3.0

我有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?如果是这样,如何添加它?

1 个答案:

答案 0 :(得分:0)

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