如何导入带有清单的模块
How to import a module with a manifest
Powershell 今天真的在考验我的耐心...好吧,所以我做了一个清单来获取我需要的程序集。现在,当我有 *.psm1 和 *.psd1 文件时如何正确导入。
文件夹路径:C:\mypath\blah\blah\Module\Format-XML\
文件夹中的文件:格式-XML.psd1,格式-XML.psm1
Import-Module -Name "C:\mypath\blah\blah\Module\Format-XML\Format-XML"
然后,当我在从另一个脚本调用的模块中使用我的函数时,无论出于何种原因,都没有 exist/work。我做错了什么?
[错误] 动词-名词:术语 'VERB-NOUN' 未被识别为
的名称
[错误] cmdlet、函数、脚本文件或可运行的程序。检查
的拼写
[错误] 名称,或者如果包含路径,请验证路径是否正确,然后重试。
在*.psd1:
FunctionsToExport = '*'
在 *.psm1 中:
#I know... not required but I tried anyways... :(
Export-ModuleMember -Function '*'
查看导入的模块。您可以通过两种方式做到这一点:
导入后:
$mod = Get-Module -Name Format-XML
导入期间:
$mod = Import-Module -Name "C:\mypath\blah\blah\Module\Format-XML\Format-XML" -PassThru
然后你可以检查$mod
并查看.ExportedCommands
属性。是否列出了任何内容?
同时尝试删除第二个 Format-XML
(我假设最后一个组件指的是模块本身而不是文件夹)。
回答:不要忘记在清单中设置根模块...叹息
因此需要将以下代码添加到您的 psd1 中。
# Script module or binary module file associated with this manifest.
RootModule = 'nameOfYourModule.psm1'
Powershell 今天真的在考验我的耐心...好吧,所以我做了一个清单来获取我需要的程序集。现在,当我有 *.psm1 和 *.psd1 文件时如何正确导入。
文件夹路径:C:\mypath\blah\blah\Module\Format-XML\
文件夹中的文件:格式-XML.psd1,格式-XML.psm1
Import-Module -Name "C:\mypath\blah\blah\Module\Format-XML\Format-XML"
然后,当我在从另一个脚本调用的模块中使用我的函数时,无论出于何种原因,都没有 exist/work。我做错了什么?
[错误] 动词-名词:术语 'VERB-NOUN' 未被识别为
的名称[错误] cmdlet、函数、脚本文件或可运行的程序。检查
的拼写[错误] 名称,或者如果包含路径,请验证路径是否正确,然后重试。
在*.psd1:
FunctionsToExport = '*'
在 *.psm1 中:
#I know... not required but I tried anyways... :(
Export-ModuleMember -Function '*'
查看导入的模块。您可以通过两种方式做到这一点:
导入后:
$mod = Get-Module -Name Format-XML
导入期间:
$mod = Import-Module -Name "C:\mypath\blah\blah\Module\Format-XML\Format-XML" -PassThru
然后你可以检查$mod
并查看.ExportedCommands
属性。是否列出了任何内容?
同时尝试删除第二个 Format-XML
(我假设最后一个组件指的是模块本身而不是文件夹)。
回答:不要忘记在清单中设置根模块...叹息
因此需要将以下代码添加到您的 psd1 中。
# Script module or binary module file associated with this manifest.
RootModule = 'nameOfYourModule.psm1'