Ily*_*ski 7 c# macos mono process.start
我成功使用System.Diagnostics.Process.Start()在Windows上启动外部单声道可执行文件.然而它在mac上失败了.我没有收到任何错误,根本没有任何错误.
我试过以下方式:
System.Diagnostics.Process.Start("mono", "/path/program.exe");
Run Code Online (Sandbox Code Playgroud)
我也试过像下面那样打开终端(也失败了):
System.Diagnostics.Process.Start("Terminal");
Run Code Online (Sandbox Code Playgroud)
我唯一能做的就是以下列方式启动终端:
System.Diagnostics.Process.Start("open", "-a Terminal");
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我真的很感激任何帮助.
谢谢!
ros*_*dia 13
您需要做的是使用实际可执行文件的完整路径.在OSX上,"apps"实际上是带有.app
扩展名的特殊结构文件夹,可执行文件(通常)位于其下Content/MacOS/[name]
.
例如,打开终端:
System.Diagnosticts.Process.Start("/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal");
Run Code Online (Sandbox Code Playgroud)
或者对于TextEdit:
System.Diagnostics.Process.Start("/Applications/TextEdit.app/Contents/MacOS/TextEdit");
Run Code Online (Sandbox Code Playgroud)
要找到可执行文件,您可以右键单击(或按住Control键单击)某个应用程序,然后选择" 显示包内容",这将打开Finder中的实际文件夹.然后,您可以导航到该Contents/MacOS
文件夹以查找实际的可执行文件.
要运行Mono可执行文件,您必须使用单声道可执行文件的完整路径并将程序作为参数传递.通常它会是类似的/usr/local/bin/mono
或可能的/usr/bin/mono
.
例如:
System.Diagnostics.Process.Start("/usr/bin/local/mono /Users/Ilya/Projects/SomeApp.exe");
Run Code Online (Sandbox Code Playgroud)
显然你会使用.exe
文件的实际路径,上面只是一个例子.
归档时间: |
|
查看次数: |
9522 次 |
最近记录: |