Когда я импортирую модуль, используя «using Module», это работает. Но если я импортирую другой модуль, PowerShell «забывает» о том, что я ранее импортировал. Перечисление внутри первого модуля неизвестно, но известен класс «Feature». Если я снова импортирую первый модуль, класс «Feature» больше не известен, но перечисление известно.
Для переписывания нашей программы управления сервером я решил использовать PowerShell 5.1, чтобы иметь возможность использовать классы. Я написал три модуля, один из которых содержит enum, второй - для представления функции, которую нужно установить, а третий - для кода пользовательского интерфейса (WPF).
Теперь у меня есть файл MSSAdmin-Shared.psm1, который содержит перечисление. Импорт это успешно. Я вижу это, набрав [Раздел] в PowerShell. Но когда я выполняю, используя Функции, я получаю «Невозможно найти тип [Раздел].».
Третий модуль нуждается в двух других модулях.
using Module MSSAdmin-Shared
using Module Features
# First file
enum Section
{
Verwaltung
Software
Konfiguration
Tasks
Administratoren
}
# second file
class Feature
{
[string] $_UID
Feature(...) { }
}
class FeatureManager
{
[System.Collections.IDictionary]$_features
}