You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# .NET 5.0调用Process.Start打开PDF报错如何解决?

问题原因

.NET 5.0 基于 .NET Core 核心实现,和传统 .NET Framework 中 Process.Start 的默认行为存在差异:直接传入非可执行文件路径时,默认不会调用系统 Shell 匹配关联的默认程序打开文件,只会尝试将路径作为可执行文件启动,因此触发「不是当前操作系统平台的有效应用程序」报错。

解决方案

方案1:显式配置 ProcessStartInfo 启用 Shell 执行

通过指定 UseShellExecute = true 还原 .NET Framework 中的默认行为,系统会自动调用已关联的默认PDF阅读器打开文件:

using System.Diagnostics;

// 启动PDF文件
Process.Start(new ProcessStartInfo(@"C:\path\to\pdf\file.pdf")
{
    UseShellExecute = true
});

方案2:通过资源管理器代理打开

也可以直接调用系统 explorer.exe 来启动对应文件,无需额外配置启动参数:

using System.Diagnostics;

Process.Start("explorer.exe", @"C:\path\to\pdf\file.pdf");
注意事项
  • 调用打开逻辑前建议先校验目标PDF文件是否存在,避免无效路径触发额外异常
  • 确保程序运行身份拥有目标PDF文件所在路径的读取权限

内容的提问来源于stack exchange,提问作者Felipe K. Bernardino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 12:21:03