Как загрузить сборку перед блоком параметров сценария PowershellC#

Место общения программистов C#
Ответить
Anonymous
 Как загрузить сборку перед блоком параметров сценария Powershell

Сообщение Anonymous »

Я пытаюсь написать файл script powershell, содержащий параметры, типы которых требуют загрузки. Ниже приведен простой пример кода: [System.Windows.Forms.MessageBoxButtons] требует загрузки system.windows.forms.
Проблема в том, что параметр Param (...) блок должен быть самым первым в файле скрипта. Итак:
  • я не могу разместить Add-Type в качестве первой строки файла.
  • i попробовал использовать сборку system.windows.forms, но выдает ошибку: невозможно загрузить сборку "System.Windows.Forms". Я думаю, что это возможно, если явно указать путь к файлу dll, но это некрасиво и не зависит от устройства.
И что я могу сделать? Вот пример кода.

messagebox.ps1

Код: Выделить всё

# Add-Type -AssemblyName system.windows.forms # DOESN'T WORK, can't be placed before Param()
# using assembly System.Windows.Forms # DOESN'T WORK, can't find the assembly to load

Param(
[string] $Text = '',
[string] $Caption = '',
[System.Windows.Forms.MessageBoxButtons] $Buttons = [System.Windows.Forms.MessageBoxButtons]::OK # REPORTS: Unable to find type [System.Windows.Forms.MessageBoxButtons].
)

[System.Windows.Forms.MessageBox]::Show($Text, $Caption, $Buttons)
Спасибо

Похожий вопрос (о пользовательском типе, а не о тип системы):
Скрипт Powershell Для проверки блока параметров требуется тип, определенный в другом скрипте

Подробнее здесь: https://stackoverflow.com/questions/757 ... ell-script
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»