2016-10-28 41 views
0

我創建了一個Powershell模塊,其中包含一個由C#實現的Cmdlet和一些由psm1文件提供的高級函數。加載模塊時,僅導出在高級功能中實現的功能。Binary Powershell Cmdlet不從模塊中導出

予登記的組件加載作爲我的模塊的一部分,並且導出的函數:

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

另外我試圖爲組件提供cmdlet與cmdlettoexport混合上述functionstoexport。所有種類的組合沒有表現出任何的成功:

CmdletsToExport = @('New-assemblyFunction') 

如果我開始導入模塊中詳細模式,我可以看到,組件被加載但只有在高級功能實現的功能已出口。 New-assemblyFunction不會出現在詳細報告中的任何地方。

我可以手動加載DLL(import-module)並且該cmdlet可用。 任何線索有什麼問題或如何進一步分析?我解鎖了所有這些文件。

+1

'RequiredAssemblies'鍵的值不被視爲PowerShell模塊。您需要使用'RootModule'('ModuleToProcess')或'NestedModules'鍵。 – PetSerAl

+0

就是這樣!謝謝!我將它添加爲NestedModules,現在該函數已導出。 – Joel

回答

0

就是這樣:

價值 RequiredAssemblies

關鍵不視爲PowerShell模塊。您需要使用RootModuleModuleToProcess)或NestedModules鍵。 - PetSerAl