Использование библиотеки .NET из PowerShell - PullRequest
6 голосов
/ 04 декабря 2009

У меня есть оснастка PowerShell для управления базой данных. Сама оснастка - это просто оболочка для основной библиотеки, реализованной в отдельной .NET DLL, все написанные на c #.

Я зарегистрировал библиотеки оснастки и библиотеки реализации в GAC с помощью installutil.exe

Хотя оснастка отлично работает в PowerShell, мне нужно иметь возможность получить доступ к деталям DLL реализации для таких вещей, как перечисления и тому подобное, для передачи в качестве аргументов командлетам.

К сожалению, я не могу получить доступ к содержимому классов в PowerShell, хотя классы помечены как публичные, и все, к чему я пытаюсь получить доступ, также помечено как общедоступные.

Нужно ли делать что-то особенное для библиотеки DLL реализации, чтобы сделать ее видимой внутри PowerShell?

Ответы [ 3 ]

7 голосов
/ 04 декабря 2009
Add-Type -AssemblyName "Your.Assembly.Name"

Доброжелательность,

Dan

2 голосов
/ 05 декабря 2009

Add-Type будет работать для PowerShell V2, как описано Daniel .

Вы также можете использовать отражение в V1 и V2 -

[System.Reflection.Assembly]::LoadFile('path to your dll')
1 голос
/ 05 декабря 2009

Я использовал метод Стивена для загрузки DLL. Я предпочитаю использовать переменную для его загрузки, чтобы вы не увидели результат в результате:

 $loadLib = [System.Reflection.Assembly]::LoadFile('path to your dll');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...