Как ссылаться на сборки .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) 
  • Эффективное умножение матрицы 4x4 (C vs assembly)
  • Visual Studio 2010: ссылочные сборки Ориентация на версию с более высокой версией
  • Maven: добавьте зависимость к банке относительным путем
  • Дополнительная информация о макете памяти исполняемой программы (процесса)
  • .NET Assembly Diff / Compare Tool - Что доступно?
  • Цикл с вызовом функции быстрее, чем пустой цикл
  • Как сделать kernel ​​для моего загрузчика?
  • Правильное изменение неопределенного поведения, если число больше ширины типа?
  • Медленная инструкция jmp
  • Visual Studio «Не удалось скопировать» ... во время сборки
  • Не удалось загрузить файл или сборку HRESULT: 0x80131515 (При добавлении controllerа в проект MVC с ссылками на сборку на сетевом диске)
  • Давайте будем гением компьютера.