Я реализовал небольшой модуль PowerShell, который содержит пользовательский тип. Я определил тип в файле .psm1
как класс C # и добавил его с помощью Add-Type
. Теперь, когда я добавляю модуль и снова его удаляю, тип все еще там, который , вероятно, не совсем правильный (например, он предотвращает повторное добавление модуля). В документации для Remove-Module
указано, что типы, определенные в сборках, загружаемых модулем, также выгружаются. Но мой модуль не вносит сборку, а просто в крошечный тип в форме исходного кода.
Я мог бы просто поместить тип в его собственную DLL и пометить его как сборку для загрузки в манифест модуля, но мне нравится, как в настоящее время весь исходный код легко виден. Распространение DLL с модулем может просто вызвать подозрение, почему ему нужен исполняемый файл.
Есть ли что-то, что я могу подключить, чтобы удалить тип при выгрузке модуля? Или я должен просто игнорировать потенциальные ошибки с Add-Type
, чтобы хотя бы иметь возможность повторно добавить модуль после удаления из сеанса? Я бы предпочел не помещать туда DLL (вероятно, в любом случае для этого крошечного модуля).