Get-Help 在针对我的模块中的命令使用时看不到 MAML 帮助文件

Get-Help is not seeing the MAML help files when used against commands in my module

我一直在努力改进我们的 PS 文档并开始使用 PlatyPS。到目前为止,一切都很好,我现在有了不错的降价文档。我还能够从中生成 MAML 以与 CLI 文档一起使用,并且能够从我的模块中删除文档注释字符串。

不幸的是,当我导入我的模块时,它无法看到 MAML 帮助文件,而且 Get-Help 我导出的函数非常准系统。

我的理解是,在模块内打包MAML时,需要按如下方式放置:

MyModuleName/
  |_ en-US/
     |_ MyModuleName-help.xml

然而,我已经这样做了,但我仍然无法从命令行使用 Get-Help-? 查看正确的帮助文档。这是我第一次尝试使用不使用文档注释的外部帮助文档,所以我希望我错过了一个步骤或者犯了 MAML 初学者的错误。

事实证明,我在从降价源生成 MAML 时遇到了问题。我正在关注 PlatyPS 的 this 指南并且 New-ExternalHelp 没有为我碰巧正在测试的命令生成帮助。

这些命令未使用 Verb-Noun 命名法命名,并且这些文件与其匹配函数共享一个名称。我取了其中一个函数并给它取了一个 Verb-Noun 名称,并对它对应的 .md 文件做了同样的事情。使用 Verb-Noun.md 的模式,New-ExternalHelp 现在生成命令的 MAML 并将它们放在 MyModuleName-help.xml.


然而,这不是我想要的。这些特定的函数有意像命令一样命名,我不想为它们遵循 Verb-Noun 命名法。可能是边缘情况,但我也确实找到了解决方案。经过一些测试后,只有源 .md 文件中该命令的命令名称对 MAML 生成很重要。

文件名需要与 Verb-Noun.md 模式相匹配,但您可以在其中包含名为 FunctionName 的命令,并且将为命令 FunctionName 而不是 [=11] 正确生成帮助=].现在,当我导入模块时,我得到了以前缺少的命令的正确帮助主题。

现在我的 .md 文件不再匹配命令名称,但这还不是世界末日。