Powershell模块功能在Get模块中不可见

Powershell模块功能在Get模块中不可见,powershell,Powershell,我有一个简单的powershell模块,其中包含一个函数,其简略版本如下: function My-Func { . . . } Export-ModuleMember -Function 'My-Func' 我的清单文件包含一行以显式导出: FunctionsToExport=“我的函数” 所有内容都通过发布模块上传到powershell gallery,没有任何问题,然后当我来安装此模块并运行Get Module时,我在输出的“导出命令”列中看不到该函数,当我尝试调用powershell

我有一个简单的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成功了,如果您可以提供这个答案,我将接受它作为答案。