PowerShell中执行.net类库

Powershell脚本一个比较强大的功能是可以直接调用.net类库(ps core能调用.net core类库),除了调用系统类库外,也可以调用自己编写的类库,从而扩充我们脚本的功能。本文这里简单的介绍下如何调用.net类库的方法:

首先我们编写一个简单的函数

namespace ClassLibrary1
{
    public class Class1
    {
        public static void SayHello()
        {
            Console.WriteLine($"hello {DateTime.Now}");
        }
    }
}

将其编译为dll,然后在PowerShell中就可以使用它了。

Add-Type -Path "ClassLibrary1.dll"
[ClassLibrary1.Class1]::SayHello()

powershell中的写法还比较灵活,下面的这个方式也是可以的。

using assembly "ClassLibrary1.dll"
using namespace ClassLibrary1
[Class1]::SayHello()

这个例子比较简单,在PowerSehll中也有更多与.net集成的方法,例如可以使用将代码作为字符串传入,动态编译生成程序集这种更为高级的方式。具体示例可以参考在 PowerShell 中執行 C# 程式碼或 DLL 檔的方法这篇文档。

 

 

原文地址:https://www.cnblogs.com/TianFang/p/12364773.html