У меня есть несколько модулей PowerShell, которые содержат классы, которые мне нужны для создания экземпляров из различных сценариев PowerShell.Чтобы получить доступ к классам из сценариев powershell, у меня есть такие выражения:
using module "..\..\Library\Mymodule.psm1"
Но я заранее не знаю, где в иерархии папок моя библиотека будет относиться к сценарию.
Мы не хотим использовать стандартные папки модулей powershell, потому что эти классы находятся под контролем исходного кода, и развертывание в пользовательских папках будет кошмарным.
Это чрезвычайно сложная тема для Google, потому что «использование» используется везде!
Попытка предоставить несколько возможных местоположений для одного и того же файла, но, конечно, мы получаем ошибку для альтернативных местоположений, которые не существуют:
Указанный модуль 'C: ... Mymodule.psm1'не был загружен, потому что ни в одном каталоге модулей не было найдено допустимого файла модуля.В строке: 0 char: 0
using module "..\..\Library\Mymodule.psm1"
using module "..\Library\Mymodule.psm1"
using module ".\Library\Mymodule.psm1"
Но я бы предпочел запустить функцию, чтобы сначала определить правильный путь к модулю, а затем использовать что-то вроде этого
using module "$foundModulePath"
Есть лиспособ динамически установить путь к модулю и затем «использовать» его?