Powershell模块功能在Get模块中不可见
我有一个简单的powershell模块,其中包含一个函数,其简略版本如下:Powershell模块功能在Get模块中不可见,powershell,Powershell,我有一个简单的powershell模块,其中包含一个函数,其简略版本如下: function My-Func { . . . } Export-ModuleMember -Function 'My-Func' 我的清单文件包含一行以显式导出: FunctionsToExport=“我的函数” 所有内容都通过发布模块上传到powershell gallery,没有任何问题,然后当我来安装此模块并运行Get Module时,我在输出的“导出命令”列中看不到该函数,当我尝试调用powershell
function My-Func
{
.
.
.
}
Export-ModuleMember -Function 'My-Func'
我的清单文件包含一行以显式导出:
FunctionsToExport=“我的函数”
所有内容都通过发布模块上传到powershell gallery,没有任何问题,然后当我来安装此模块并运行Get Module时,我在输出的“导出命令”列中看不到该函数,当我尝试调用powershell函数时,我也会告诉我它不存在
我的模块有一个psm1文件和一个psd1清单,出于某种原因,当我只将清单视为模块类型时,我猜我需要查看脚本
有什么想法吗?在你的.psm1中:
删除导出的模块成员行
在.psd1中:
RootModule='yourmodule.psm1'
FunctionsToExport=@('function1','function2')
psd1文件函数stoexport与导出的ModuleMember命令类似。从一个集中的文件中定义内容是一种更简洁的方法。在.psm1中:
删除导出的模块成员行
在.psd1中:
RootModule='yourmodule.psm1'
FunctionsToExport=@('function1','function2')
psd1文件函数stoexport与导出的ModuleMember命令类似。从一个集中的文件定义内容是一种更简洁的方法。我认为您需要指定数组中的函数,即使只有一个:
FunctionsToExport=@('My-Func')
。使用New ModuleManifest
获取一个干净的示例清单文件执行Get模块时,出现的模块类型是manifest?是正确的,还是应该是脚本?我创建了一个新的清单文件并在数组中指定了导出的函数,不幸的是,这没有什么区别。像FunctionsToExport
这样的字段可以很好地处理标量-它只是将标量自动转换为数组。但始终使用数组是最佳实践,因为它使以后更容易更新清单。关于未显示的函数,如果模块类型为Manifest
,则听起来您没有将RootModule
属性设置为指向.psm1
文件。如果清单是正确的,那么模块类型应该是Script
。Bruce-设置RootModule成功了,如果您可以提供这个答案,我将接受它作为答案。我认为您需要在数组中指定函数,即使只有一个:FunctionsToExport=@('My-Func')
。使用New ModuleManifest
获取一个干净的示例清单文件执行Get模块时,出现的模块类型是manifest?是正确的,还是应该是脚本?我创建了一个新的清单文件并在数组中指定了导出的函数,不幸的是,这没有什么区别。像FunctionsToExport
这样的字段可以很好地处理标量-它只是将标量自动转换为数组。但始终使用数组是最佳实践,因为它使以后更容易更新清单。关于未显示的函数,如果模块类型为Manifest
,则听起来您没有将RootModule
属性设置为指向.psm1
文件。如果清单是正确的,那么模块类型应该是Script
.Bruce-设置RootModule成功了,如果您可以提供这个答案,我将接受它作为答案。