WPF .NET CORE使用Process.Start(url)打开网页报错[System.ComponentModel.Win32Exception:“系统找不到指定的文件。”]
在WPF .NET Core中使用以下代码打开浏览器进入网页将会报错,而在WPF .NET Framework中却不会
public void OpenWebLink(string url)
{
try
{
Process.Start(url);
}
catch (Exception e)
{
//Some exception handling code
// ...
}
}
将上述代码改为:
public void OpenWebLink(string url)
{
try
{
var psi = new ProcessStartInfo
{
FileName = url,
UseShellExecute = true
};
Process.Start(psi);
}
catch (Exception e)
{
//Some exception handling code
// ...
}
}
则不会有异常,因为 UseShellExecute
属性在.NET Core中默认为 false
,要打开一个网页链接应该将其设为 true
,因为url并不是一个可执行文件。
参考:.Net Core 3.1 Process.Start(“www.website.com”) not working in WPF