我创建了一个Powershell模块,其中包含一个由C#实现的Cmdlet和一个由psm1文件提供的高级函数。加载模块时,仅导出高级功能中实现的功能。
我注册了程序集作为我的模块的一部分加载并导出了函数:
RequiredAssemblies = @("lib\provider.dll","lib\myCmdlet.dll")
FunctionsToExport = @('New-assemblyFunction','New-advancedFunction')
此外,我尝试将上面的functionstoexport与cmdlettoexport混合为程序集提供的Cmdlet。所有类型的组合都没有取得任何成功:
CmdletsToExport = @('New-assemblyFunction')
如果我以详细模式启动导入模块,我可以看到正在加载程序集,但只导出高级函数中实现的函数。 New-assemblyFunction不会出现在详细报告中的任何位置。
我可以手动加载DLL(import-module)并且cmdlet可用。 任何线索在这里有什么问题或如何进一步分析?我解封了所有文件。
答案 0 :(得分:1)
那就是:
RequiredAssemblies
键的值不被视为PowerShell模块。您需要使用RootModule
(ModuleToProcess
)或NestedModules
密钥。 - PetSerAl