Я написал класс PowerShell 5:
class ConnectionManager
{
# Public Properties
static [String] $SiteUrl
static [System.Management.Automation.PSCredential] $Credentials
static [SharePointPnP.PowerShell.Commands.Base.SPOnlineConnection] $Connection
...
}
Тип «SharePointPnP.PowerShell.Commands.Base.SPOnlineConnection
» взят из настраиваемого (установленного модуля) с именем «SharePointPnPPowerShell2016».
Мой класс находится внутри другого модуля / файла с именем «connection.manager.psm1».
Когда я загружаю этот модуль, чтобы использовать этот класс, он возвращает мне следующую ошибку:
> Import-Module connection.manager.psm1
At connection.manager.psm1:6 char:11
+ static [SharePointPnP.PowerShell.Commands.Base.SPOnlineConnection] ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unable to find type
[SharePointPnP.PowerShell.Commands.Base.SPOnlineConnection].
Когда я вручную загружаю модуль (PNP) в сеанс PowerShell перед загрузкой моего модуля, он загружается правильно, и я могу его использовать.
Но я не хочу всегда вручную загружать другой модуль, прежде чем использовать свой модуль. Я попытался импортировать PNP-модуль прямо в свой модуль, добавив:
Import-Module "SharePointPnPPowerShell2016"
в начале, перед объявлением класса, но это ничего не меняет, по-прежнему появляется ошибка «Невозможно найти тип».
Есть идеи, как это сделать правильно?