Powershell 不从模块导入函数

Powershell not importing functions from module

我正在尝试在此处设置一个 NuGet 源,并且工作正常。我通过

从我的提要安装了一个模块
Install-Module -Name MyCmdlets -Repository $RepoName -Scope CurrentUser -Force
Import-Module -Name MyCmdlets

然而,当我 运行 Get-Module 时,我没有得到任何函数,它是一个清单?

ModuleType Version    Name                                ExportedCommands                                  
---------- -------    ----                                ----------------                                  
Manifest   1.0        MyCmdlets          

如果我手动去安装的位置手动导入

Import-Module <my-path>.0\MyCmdlets.psm1                 

ModuleType Version    Name                                ExportedCommands                                  
---------- -------    ----                                ----------------                     
Script     0.0        MyCmdlets                      {Create-Project, Get-AuditLogs, Get-..             

我的清单文件确实有这些行,所以我不明白为什么 Import-Module 不能正常工作。

FunctionsToExport = '*'

CmdletsToExport = '*'

我猜你还没有像这样在 .psd1 中设置根模块

#
# Module manifest for module 'YourModule'
#

@{

# Script module or binary module file associated with this manifest
RootModule = 'YourModule.psm1'

# Version number of this module.
ModuleVersion = '1.0.0'

...

这是必要的,这样当您导入清单模块时它也会加载脚本模块

对于遇到此问题并寻找其模块为何无法导入的任何人,请检查 RootModule = 'YourModule.psm1' 是否未被注释掉。 默认情况下,当使用 New-ModuleManifest 创建新清单时,它会在此行前面抛出一个哈希值..

呃,我觉得自己好傻。