Как ссылаться на сборки .NET с помощью PowerShell

Я разработчик / архитектор C # .NET и понимаю, что он использует объекты (объекты .NET), а не только streamи / текст.

Я хотел бы иметь возможность использовать PowerShell для вызова методов в моей сборке .NET (C # library).

Как я могу ссылаться на сборку в PowerShell и использовать сборку?

Взгляните на сообщение в блоге Загрузите пользовательскую DLL из PowerShell :

Возьмем, к примеру, простую математическую библиотеку. Он имеет статический метод Sum и метод экземпляра продукта:

namespace MyMathLib { public class Methods { public Methods() { } public static int Sum(int a, int b) { return a + b; } public int Product(int a, int b) { return a * b; } } } 

Скомпилируйте и запустите в PowerShell:

 > [Reflection.Assembly]::LoadFile("c:\temp\MyMathLib.dll") > [MyMathLib.Methods]::Sum(10, 2) > $mathInstance = new-object MyMathLib.Methods > $mathInstance.Product(10, 2) 

С PowerShell 2.0 вы можете использовать встроенный Cmdlet Add-Type.

Вам просто нужно указать путь к dll.

 Add-Type -Path foo.dll 

Кроме того, вы можете использовать встроенные C # или VB.NET с Add-Type. Синтаксис @ “является строкой ЗДЕСЬ.

 C:\PS>$source = @" public class BasicTest { public static int Add(int a, int b) { return (a + b); } public int Multiply(int a, int b) { return (a * b); } } "@ C:\PS> Add-Type -TypeDefinition $source C:\PS> [BasicTest]::Add(4, 3) C:\PS> $basicTestObject = New-Object BasicTest C:\PS> $basicTestObject.Multiply(5, 2) 
  • как загрузить все сборки из вашего каталога / bin
  • В чем разница между MOV и LEA?
  • Возможно ли одноуровневое многоязычное развертывание Windows Forms (ILMerge и спутниковые сборки / локализация)?
  • Использование разных версий одной и той же сборки в одной папке
  • Дополнительная информация о макете памяти исполняемой программы (процесса)
  • Как загрузить сборку в AppDomain со всеми ссылками рекурсивно?
  • Вызов функции стандартной библиотеки C из asm в Visual Studio
  • _addcarry_u64 и _addcarryx_u64 с MSVC и ICC
  • Не удалось загрузить файл или сборку HRESULT: 0x80131515 (При добавлении controllerа в проект MVC с ссылками на сборку на сетевом диске)
  • Определить версию сборки (CLR) сборки
  • Как объединить несколько сборок в один?
  • Interesting Posts

    Последовательные sys_write syscalls не работают должным образом, ошибка NASM на OS X?

    Как использовать CaptiveNetwork для получения текущего имени точки доступа Wi-Fi

    Есть ли что-нибудь вроде deal () для обычных массивов MATLAB?

    Принудительное видео HTML5 youtube

    Почему целочисленное деление в C # возвращает целое число, а не float?

    Каков самый быстрый и безопасный способ протестировать новое программное обеспечение и при необходимости изменить все изменения?

    Для чего же Spring Framework?

    Сделать регулярное выражение не совпадающим с пустой строкой?

    Узнайте, что работает JVM Eclipse

    Будут ли маршрутизаторы «замыкаться» на свой внешний внешний адрес?

    Разрешенные версии для приложения (22.0.0) и тестового приложения (21.0.3) отличаются

    Получение пароля на C без использования getpass (3)?

    Proguard с OrmLite на Android

    Как распространять исключения между streamами?

    Порядок оценки элементов в инициализации списка

    Давайте будем гением компьютера.