C# Process.Start适用于程序,但在添加参数时失败

C# Process.Start适用于程序,但在添加参数时失败,c#,windows,C#,Windows,我正试图从C#代码在Excel中打开一个文件: 运行template=null时,Excel可以正常启动。 如果template不为null,并且template.Path是Excel文档的有效路径,则会抛出系统无法找到指定的文件 请注意,excel.exe不在我的路径中(从CMD运行它找不到它),它仍然可以通过C#code或Run(Win+R)打开它 通过调试代码,在Run(Win+R)中运行$“excel.exe/R\”{template.Path}\”的结果可以正常工作,并在打开文件的情况

我正试图从C#代码在Excel中打开一个文件:

运行template=null时,Excel可以正常启动。 如果template不为null,并且template.Path是Excel文档的有效路径,则会抛出
系统无法找到指定的文件

请注意,excel.exe不在我的路径中(从CMD运行它找不到它),它仍然可以通过C#code或Run(Win+R)打开它

通过调试代码,在Run(Win+R)中运行
$“excel.exe/R\”{template.Path}\”
的结果可以正常工作,并在打开文件的情况下打开excel。

根据,此单字符串函数从其路径运行程序;因此,不支持向该字符串添加参数,因为该命令将尝试将完整字符串作为程序运行,因此无法找到该字符串


正确使用的函数是重载
进程.Start(字符串路径,字符串参数)

它声明这应该是一个文件名
excel.exe/r“somethingelse”
不是文件名。也许你需要另外一个重载?你完全正确。非常感谢。我完全错过了。请随时发布答案
Process.Start(template == null ? "excel.exe" : $"excel.exe /r \"{template.Path}\"");