c# - 通过 finder 启动时 Xamarin.Mac 应用程序崩溃 - 通过 VS 或终端启动时有效
问题描述
我一直在使用 Xamarin.Mac 将 Windows 应用程序移植到 MacOS,到目前为止进展顺利。我完成了初始版本并构建了一个发布版本,然后尝试在 Visual Studio 之外运行它,它崩溃了。如果通过 Visual Studio 启动,相同的构建不会崩溃(即使使用“未经调试运行”)。此外,如果我直接使用终端运行可执行文件,它也可以正常工作。
使用 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 运行时它不应该崩溃吗?
我想到的另一种可能性是它与应用程序正常运行时标准输出不可用有关吗?
该应用程序启动正常,只有当我单击调用上面代码的按钮时它才会崩溃。
关于这可能是什么以及如何解决它的任何想法?任何帮助将不胜感激!
解决方案
推荐阅读
- postgresql - PostgresSQL 将值的方差替换为 1 个标准值
- python - 是否可以有效地将 PCollection 列表转换为 PCollection(只是列表中的值)?
- java - 如何停止主线程并有可能停止 RxJava 中的所有流程
- c# - 如何阅读从邮箱发送/发送的电子邮件?
- python - 在 macOS Big Sur 上安装 py3exiv2 失败 | 错误:找不到 .egg-info 目录
- python - 如何连接具有不相等行数和不同列名的数据框
- javascript - ReactJS onClick在列表项chage div中
- ansible - ansible lineinfile 如何添加多行与多个目标?
- c# - 如何使用 Oauth Prompt 完全退出用户?
- r - 在 R 中使用 lubridate 包进行日期格式化