C# 系统找不到指定的文件,但在命令行中直接运行时可以工作

C# 系统找不到指定的文件,但在命令行中直接运行时可以工作,c#,command-line,C#,Command Line,我正在努力通过无头浏览使用Chromes打印到PDF功能 我的代码非常简单 var command = "C:\\Program Files(x86)\\Google\\Chrome\\Application\\chrome.exe --headless --disable-gpu --print-to-pdf=\"D:\\GitHub\\MySite\\bin\\Debug\\Temp\\createPdf180303084003.pdf\" http://localhost/mypage

我正在努力通过无头浏览使用Chromes打印到PDF功能

我的代码非常简单

var command = "C:\\Program Files(x86)\\Google\\Chrome\\Application\\chrome.exe --headless --disable-gpu --print-to-pdf=\"D:\\GitHub\\MySite\\bin\\Debug\\Temp\\createPdf180303084003.pdf\"   http://localhost/mypage";
Process.Start(command);
当我查看我的
命令
并复制字符串并将其粘贴到命令提示符中时,它工作正常


这是一个系统,所以我不明白为什么它在命令提示符下工作,而不是在我的C#web应用程序中工作

系统现在正在搜索文件
“C:\\Program Files(x86)\\Google\\Chrome\\Application\\Chrome.exe--headless--disable gpu--print to pdf=\“D:\\GitHub\\MySite\\bin\\Debug\\Temp\\CreatePDF18030308403.pdf\”http://localhost/mypage“
,但您希望它启动
”C:\\ProgramFiles(x86)\\谷歌\\Chrome\\Application\\Chrome.exe“
,带有一些参数。您需要做的是:

Process process = new Process();
process.StartInfo.FileName = "chrome";
process.StartInfo.Arguments = "arguments";
process.Start();
试试这个

ProcessStartInfo proc = new ProcessStartInfo();
proc.FileName = @"C:\Program Files(x86)\Google\Chrome\Application\chrome.exe";
proc.Arguments = @"--headless --disable-gpu --print-to-pdf=\""D:\\GitHub\\MySite\\bin\\Debug\\Temp\\createPdf180303084003.pdf\""   http://localhost/mypage";
Process.Start(proc);

您如何调用此命令?更新了post@RonBeyer您需要将进程(chrome的路径)和参数分离为两个不同的字符串传递到
进程。开始
,请参阅@RonBeyer。您是否可以移动到一个应答器您可以接受其中一个现有的应答器,无需重复存在的内容。