【问题标题】:Using .NET library from PowerShell从 PowerShell 使用 .NET 库
【发布时间】:2009-12-05 13:13:12
【问题描述】:

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

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

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

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

我是否必须对实现 DLL 做一些特殊的事情才能使其在 PowerShell 中可见?

【问题讨论】:

    标签: powershell


    【解决方案1】:
    Add-Type -AssemblyName "Your.Assembly.Name"
    

    善良,

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-12-22
          • 2010-10-06
          • 1970-01-01
          • 2023-04-09
          • 1970-01-01
          • 2017-01-01
          • 1970-01-01
          • 2017-02-11
          相关资源
          最近更新 更多