【发布时间】:2020-04-26 02:12:51
【问题描述】:
我正在尝试从 c# 打开一个 html 文件。我在 Mac 上尝试过
Process.Start(path);
但它给了我“权限被拒绝”我已经将确切的路径复制并粘贴到谷歌和查找器中,他们都给了我正确的文件。我从管理员帐户运行它。我试过将路径移动到不同的地方,比如桌面,它给出了同样的错误。
然后我尝试了:
new ProcessStartInfo(
path,
"--no-first-run")
{ UseShellExecute = false });
我得到同样的错误。怎么了? 只是为了踢,我尝试将路径更改为错误的,它说“错误路径”,所以我知道路径是正确的。
感谢您提供的任何帮助或额外信息。
【问题讨论】:
-
你不能“执行”一个 HTML,使用“打开你的 HTML 文件”。 (
The open command opens a file (or a directory or URL), just as if you had double- clicked the file's icon. If no application name is specified, the default application as determined via LaunchServices is used to open the specified files.) -
@SushiHangover,但this answer 说您确实可以使用
Process.Start(path),甚至在文档中也这样指定。那是怎么回事? -
设置
UseShellExecute = true并重试,因为 Finder 使用 shell 打开 HTML 页面。 -
@Wyck Jon 回答了一个特定问题,该问题仅适用于 Windows 和 .NET Framework。您不能假设它适用于 Mac 和 Mono,因为
UseShellExecute之类的默认值可能不同。 -
@LexLi,当然,谢谢,当我读到这篇文章时,不知何故没有为我注册。似乎“我在 Mac 上”和“单声道”标签对我来说应该是粗体闪烁的。