我一直在使用Xamarin.Mac将Windows应用程序移植到MacOS,到目前为止,一切进展顺利。我完成了初始版本并构建了发行版本,然后尝试在Visual Studio外部运行它,然后崩溃了。如果通过Visual Studio启动(即使使用“无需调试即可运行”),则完全相同的版本也不会崩溃。另外,如果我直接使用Terminal运行可执行文件,它也可以很好地工作。
使用MacOS Mojave 10.14 / Xamarin.Mac 5.2
我最好的猜测是它与以下代码有关:
let ffmpeg = new Process ()
ffmpeg.StartInfo.FileName <- "ffmpeg"
ffmpeg.StartInfo.Arguments <- arguments
ffmpeg.StartInfo.CreateNoWindow <- true
ffmpeg.StartInfo.RedirectStandardOutput <- true
ffmpeg.StartInfo.UseShellExecute <- false
ffmpeg.StartInfo.RedirectStandardError <- true
ffmpeg.Start() |> ignore
ffmpeg位于我的PATH中,如果与此有关,那么在通过VS / Terminal运行时是否应该不会崩溃?
我想到的另一种可能性是它与正常运行应用程序时无法以某种方式使用stdout有关吗?
该应用程序可以正常启动,只有当我单击调用上面的代码的按钮时,它才会崩溃。
关于这可能是什么以及如何解决它的任何想法?任何帮助将不胜感激!