二进制 Powershell Cmdlet 未从模块导出

Binary Powershell Cmdlet not exported from module

我创建了一个 Powershell 模块,其中包含一个由 C# 实现的 Cmdlet 和 psm1 文件提供的一些高级功能。加载模块时,只导出高级功能中实现的功能

我注册了要加载的程序集作为我的模块的一部分并导出了函数:

RequiredAssemblies = @("lib\provider.dll","lib\myCmdlet.dll")
FunctionsToExport = @('New-assemblyFunction','New-advancedFunction')

我还尝试将上述函数导出与 cmdlet 导出混合使用,以用于程序集提供的 Cmdlet。所有类型的组合都没有显示任何成功:

CmdletsToExport = @('New-assemblyFunction')

如果我以详细模式启动导入模块,我可以看到正在加载程序集,但仅导出在高级函数中实现的函数。 New-assemblyFunction 没有出现在详细报告中的任何地方。

我可以手动加载 DLL(导入模块)并且 cmdlet 可用。 任何线索这里出了什么问题或如何进一步分析?我解除了对所有文件的块归档。

就是这样:

RequiredAssemblies键的值不被视为 PowerShell 模块。您需要使用 RootModule (ModuleToProcess) 或 NestedModules 键。 – PetSerAl