系统无法找到指定的文件,但在命令行中直接工作

时间:2018-03-03 20:42:12

标签: 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";
Process.Start(command);

当我查看我的command并复制字符串并将其粘贴到命令提示符中时,它可以正常工作。

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

2 个答案:

答案 0 :(得分:2)

试试这个

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);

答案 1 :(得分:1)

系统现在正在搜索文件"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",但您希望它使用一些参数启动"C:\\Program Files(x86)\\Google\\Chrome\\Application\\chrome.exe"。你需要做的是:

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