0

我有一个带有派生自 cmdlet 的基类的 powershell 模块,并且我的所有 cmdlet 都派生自该模块。Import-module 看不到我从 cmdlet 间接派生的任何类。我是否需要添加清单来支持这种结构。

4

2 回答 2

2

这可能是以下两个问题之一:

  • 课程不是public
  • 类没有装饰[CmdletAttribute]

这是一个最小的、正常运行的 cmdlet:

[Cmdlet(Verb = VerbsCommon.Get, Noun = "Answer")]
public class GetAnswerCommand : PSCmdlet {
    public override void EndProcessing() {
        WriteObject(42);
    }
}

使用import-modulewith-verbose查看有关可见内容的信息。对于二进制模块,您不需要清单 (psd1)。

于 2013-06-15T12:43:50.460 回答
0

你把模块放进去了$env:PSModulePath吗?

Import-Module只会看到放置在上述路径的模块。或者,您可以将模块的路径添加到$env:PSModulePath.

于 2013-06-15T03:50:34.630 回答