直接从 Otter 脚本执行 C# 代码

Execute C# code directly from Otter script

我使用 Otter 脚本已经有一段时间了,我想直接从我的一个计划中执行 C# 代码。我知道我可以使用 PSExec 直接执行 PowerShell 代码,但是 C# 有类似 CSExec 或类似的等效代码吗?

这是我想要的代码运行:

if (Directory.Exists($Path))
  LonUtil.SendEmail("Path exists!");
else
  LonUtil.SendEmail("Path does not exist.", false);

您可以在 Powershell 中创建一个新类型并使用 PSExec 直接从那里调用代码:

$source = @"
public class MyCode
{
    public void Action(string path) 
    {
        System.Console.WriteLine(path);
    }
}
"@

Add-Type -TypeDefinition $source
$MyCode = New-Object MyCode
$MyCode.Action("Write this to the console!")

或者,将该 c# 代码编译成一个程序集,比如 MyApplication.exe,然后编写一个执行该程序的 powershell 脚本:

$path = "the/required/path"
& MyApplication.exe $path

然后使用 Otter 脚本中的 PSExec 到 运行 Powershell 的上述位