Проблема:
Я не могу успешно опубликовать немонолитный модуль сценариев в своей локальной галерее PowerShell при использовании PowerShell 5.1, и мой модуль содержит 7 или более функций. Публикуется нормально с 6 или менее функциями.
Пример: FunctionsToExport = 'Get-Test1', 'Get-Test2', 'Get-Test3', 'Get-Test4', 'Get-Test5', 'Get-Test6', 'Get-Test7'
Публикация всегда висит на «VERBOSE: выполняется операция« Модуль публикации »на цели…», но никогда не завершается.
Я не вижу никаких ошибок, поэтому я не уверен, почему он зависает.
Что работает:
Я могу успешно опубликовать мой немонолитный модуль сценариев в своей локальной галерее PowerShell, если он содержит 6 или менее функций.
Пример: FunctionsToExport = 'Get-Test1', 'Get-Test2', 'Get-Test3', 'Get-Test4', 'Get-Test5', 'Get-Test6'
Это прекрасно работает: VERBOSE: Успешно опубликованный модуль…
Если я просто добавлю еще одну функцию и обновлю манифест, я больше не смогу публиковать без повторного зависания в том же месте.
Я почти уверен, что пропустил шаг, но мне сложно понять, что я пропустил.
Я изучаю дизайн немонолитного скриптового модуля у Майка Роббинса , читая его сообщений в блоге и просматривая его презентаций . Суть этого дизайна заключается в том, что каждая функция находится в отдельном файле PS1, который получен из файла PSM1.
Краткое описание того, как я строю свои скриптовые модули:
- Создайте новый каркас модуля скрипта, используя пользовательский шаблон гипса.
- Добавление функций в папку с именем Public.
- Обновление версии модуля и раздела FunctionsToExport в манифесте.
- Используйте PsDeploy или Publish-Module для развертывания в локальной галерее PowerShell.
- Локальная галерея PowerShell - это просто папка на моем диске с данными G: \ JnPowerShellGallery.
Вот так я и публикую свой модуль в своей местной PSGallery.
Publish-Module -Path 'G:\_temp\JnTestModule' -Repository JnPowerShellGallery -NuGetApiKey 'AnyStringWillDo' -Verbose -InformationAction Continue
Вот ссылка OneDrive на мой тестовый модуль.
https://1drv.ms/f/s!AlsrG1Yfr5pHgts0RCM--SmRnUf3AA
Вывод $ PSVersionTable
PSVersion 5.1.17134.590
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17134.590
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Я так близок к созданию моего первого конвейера выпуска для моих модулей PowerShell, но я застрял на этом этапе.
Кто-нибудь знает, что может быть причиной этой проблемы?