使用PowerShell中的.NET库

时间:2009-12-04 11:34:16

标签: powershell

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

我已使用installutil.exe

在GAC中注册了管理单元和实现DLL

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

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

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

3 个答案:

答案 0 :(得分:7)

Add-Type -AssemblyName "Your.Assembly.Name"

善,

答案 1 :(得分:2)

Add-Type适用于PowerShell V2,如Daniel所述。

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

[System.Reflection.Assembly]::LoadFile('path to your dll')

答案 2 :(得分:1)

我使用Steven的方法加载dll。我更喜欢使用var来加载它,这样你就不会在输出结果中看到结果:

 $loadLib = [System.Reflection.Assembly]::LoadFile('path to your dll');