我有一个小的
PowerShell
模块,无需 psd1
文件即可正常加载。一旦 psd1
文件位于模块文件夹的根目录中,模块就无法(自动)加载而不会出现错误。而且 Test-ModuleManifest
没有给出任何错误。
这
.psd1
有什么问题,导致它无法加载.psm1
?
@{
ModuleVersion = '1.0.0'
GUID = '30197a8a-2ad7-446d-9cfd-5ce440efde93'
Author = 'Me'
CompanyName = 'Us'
Copyright = '(c) Us. All rights reserved.'
Description = 'Get and Set Display Settings'
PowerShellVersion = '7.0'
FunctionsToExport = @(
'Set-DisplayResolution',
'Set-DisplayRefreshRate',
'Get-DisplayResolution'
)
CmdletsToExport = @()
}
以 mclayton 的有用评论为基础:
Test-ModuleManifest
仅测试模块清单的内部一致性。
它不会测试模块作为一个整体的有效性。
由于您的清单使用
FunctionsToExport
条目来定义要导出的 functions,因此意味着 您的模块缺少指向脚本模块文件 (RootModule
) 的
*.psm1
条目其中定义了这些函数。
另请参阅:此答案到您稍后的概念相关问题。