首页 > 解决方案 > 访问被拒绝 Process.Start

问题描述

运行此代码时,我收到错误消息“权限被拒绝”。这个错误是由我的mac上的权限引起的还是因为代码?我使用了与 MSDN 相同的示例。

static void Main(string[] args)
{
    Process.Start("readme.txt");
};

标签: c#.netmonosystem.diagnostics

解决方案


Process.Start接受可执行文件或文档的名称。根据文档

文件名不需要代表可执行文件。它可以是扩展名与系统上安装的应用程序相关联的任何文件类型。例如,如果您将文本文件与记事本等编辑器关联,则文件名可以具有 .txt 扩展名,或者如果您将 .doc 文件与诸如 Microsoft Word 的文字处理工具关联,则文件名可以具有 .doc 扩展名。

此描述可能仅限于 Windows 平台。我猜想 macOS 上的实现仅限于运行可执行文件。

如果您想使用 MacOS 的默认编辑器,那么您应该能够按如下方式运行它:

Process.Start("open", "readme.txt")

请记住,这open是一个特定于 MacOS 的实用程序,因此它不适用于其他操作系统。


推荐阅读