2016-12-20 2 views
0

У меня есть модуль psm1 с несколькими функциями. Я только хочу выставить некоторые из функций, поэтому я использовал «Export-ModuleMember -Function», и все было в порядке.Экспорт членов PS из модуля не отвечает

Теперь я хочу добавить манифест, поэтому я удалил командлет Export-ModuleMember и поместил имена функций в раздел FunctionsToExport файла psd1.

Когда я импортировать модуль, я могу закладки выполнить функции, но когда я пытаюсь использовать их, пс говорит:

Test-Function: Термин «Тесты-Function» не распознается как имя командлета, функции, файла сценария или операционной программы. Проверьте правильность написания имени или, если включен путь, проверьте правильность пути и повторите попытку.

Я также попытался поставить Export-ModuleMember -Function * в psm1, но это не помогло.

Файлы psm1 и psd1 называются одинаковыми и находятся в корне модуля.

Мысли? Благодарю.

+0

Это не кеширование, как предлагается. Это ожидаемое поведение. Это на самом деле дублирующий вопрос, но я нахожусь на мобильном телефоне и не могу найти цель dup прямо сейчас. – briantist

ответ

0

Я нашел ответ. Я забыл прокомментировать узел RooteModule. Как только я это сделал (и имел значение module.psm1 в качестве значения), экспортированные команды появились в модуле «Модуль модуля Get-Module».

0

Я подозреваю, что здесь задействован механизм кеширования PowerShell. Попробуйте запустить:

Get-Module -ListAvailable -Refresh 

Я рекомендую very good article on that subject написанный PowerShell MVP Tobias Weltner.

+0

Я не думаю, что это связано с кешированием. При наличии файла манифеста Get-Module (после выполнения табуляции функции) показывает тип как манифест и нет экспортированных команд. Если я удалю файл манифеста и снова удаляю/импортирую модуль, я вижу, что это тип Script, и у меня есть все функции в списке экспортированных команд (потому что у меня есть Export-ModuleMember -Function * в psm1). – StackExchangeGuy

+0

Я должен добавить, что файл манифеста имеет «FunctionToExport =« Test-Function »,« Test-Function2 »» – StackExchangeGuy