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