我编写了一个程序来处理将 html 文件放入并从 cms 中对话出来。在这个程序中,我有一些代码,以便您可以在不同的浏览器上预览。但是,当我运行它时,我得到一个未处理的异常,指出“无法启动进程,因为没有提供文件名。”
- 这只发生在尝试启动 chrome 或 firefox 时,IE 工作正常。
- 只有当我通过 Advanced Installer 运行我的程序并将其安装到我的机器上时,它才会发生,它在直接从 VS2012 以发布模式构建它时工作。
我的代码如下:
if (chk_ExternalBrowser.Checked)
{
string ffTempFilePath = "\"" + tempFilePath + "\"";//tempFilePath is an absolute path to the html file
Process.Start(browserPaths[1], ffTempFilePath);//launch FF, browserPaths[1] contains an absolute path to firefox.exe
}
提前感谢您提供的任何见解。
更新: 错误是因为我没有用引号括起 browserPaths[1] 的内容。现在我没有收到任何错误,但是打开了一个 Windows 资源管理器窗口而不是 firefox 浏览器。我修改后的代码如下:
if (chk_ExternalBrowser.Checked)
{
string ffTempFilePath = "\"" + tempFilePath + "\"";//after this line ffTempFilePath == \"C:\\Users\\<username ommitted>\\Documents\\Visual Studio 2012\\Projects\\Local_IMP\\Local_IMP\\bin\\Release\\TEMP.html\"
string tempTest = "\"" + browserPaths[1] + "\"";//after this line tempTest == \"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\"
Process.Start(tempTest, ffTempFilePath);//launch FF
}