2016-12-28 3 views
1

私はOtterスクリプトを少し使っていますが、私の計画の1つから直接C#コードを実行したいと思います。私はPSExecを使ってPowerShellコードを直接実行できますが、CSExecなどのC#と同等のものがありますか?ここでOtterスクリプトから直接C#コードを実行

は、私が実行したいコードです:

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

答えて

1

あなたは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!") 

AlternatvelyそのC#コードをアセンブリ、たとえばMyApplication.exeにコンパイルし、プログラムを実行するpowershellスクリプトを作成します。

そして、
$path = "the/required/path" 
& MyApplication.exe $path 

PowerShellの

+1

えの上のビットを実行するために、カワウソスクリプトからPSExecを使用し、EXEにコンパイルすることはやり過ぎかもしれません。より直接的な同等物は、[scriptcs](http://scriptcs.net/)のようなものになります。 – mason

+0

@mason先頭に別の解決策を追加しました – Bassie

+1

私の他の選択肢は、カスタムPowerShellの代わりに 'Exec'を使っていましたが、' Add-Type'コマンドは今のところうまくいきます! –

関連する問題