如何将C#代码转换为PowerShell脚本?

35

我经常需要将现有的C#代码片段/.CS文件转换为PowerShell脚本。如何自动化这个过程?

虽然我知道有方法可以将.cs文件转换为cmdlet,但我只想将C#代码转换为脚本或模块。


这是一款付费产品:https://docs.poshtools.com/powershell-tools-documentation/visual-studio/code-conversion - BozoJoe
3个回答

79

我知道你正在寻找一些可以将C#直接转换为PowerShell的工具,但我认为这个建议已经很接近了。

在PS v1中,您可以使用已编译的.NET DLL:

PS> $client = new-object System.Net.Sockets.TcpClient
PS> $client.Connect($address, $port)

在 PS v2 中,您可以直接将 C# 代码添加到 PowerShell 中并在不使用 Add-Type 进行“转换”的情况下使用它(直接从 MSDN 复制)

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)

1
我能否使用我的自定义库C#与helpers和utils类? - Kiquenet
如何在PowerShell中获取.Net框架支持?这是否适用于只安装了Windows的全新机器而没有安装.Net框架? - Venkatesh Muniyandi

12

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接