rksoftware

Visual Studio とか C# とかが好きです

mac で Process.Start() で Permission denied がでる

mac で .NET Core 3.0 の単一ファイルの実行可能ファイル(/p:PublishSingleFile=true)を、.NET Core アプリから Process.Start() で実行しようとしたときに少しハマったのでメモ。

■ コード

ここでは Ready という単一ファイルの実行可能ファイルを作ったものとします。

var readyProcess = new Process()
{
     StartInfo = new ProcessStartInfo("Ready")
};
readyProcess.Start();

これで Win32Exception Permission denied とエラーになりました。

■ 解決策

当たり前のことですが、作っただけでは実行の権限が付いていません。次のようにして、作った単一ファイルの実行可能ファイルに実行の権限を付けると、意図通りに動作するようになりました。

chmod u+x Ready