使用PowerShell中的.NET库

Jac*_*hes 6 powershell

我有一个用于操作数据库的PowerShell管理单元.管理单元本身只是在一个单独的.NET DLL中实现的主库的包装,所有这些都是用c#编写的.

我已使用installutil.exe向GAC注册了管理单元和实现DLL

虽然管理单元在PowerShell中运行良好,但我需要能够访问枚举等内容的实现DLL详细信息,以便作为cmdlet的参数传递.

不幸的是,我无法访问PowerShell中的类的内容,即使这些类被标记为公共,我试图访问的所有内容也被标记为公共.

我是否必须对实现DLL执行一些特殊操作才能使其在PowerShell中可见?

Dan*_*ott 8

Add-Type -AssemblyName "Your.Assembly.Name"
Run Code Online (Sandbox Code Playgroud)

善良,


Ste*_*ski 5

正如Daniel所描述的,Add-Type 将适用于 PowerShell V2 。

您还可以在 V1 和 V2 中使用反射 -

[System.Reflection.Assembly]::LoadFile('path to your dll')
Run Code Online (Sandbox Code Playgroud)