我正在尝试启动默认Web浏览器以打开与Process.Start()的链接。我使用Process.Start(" https://www.google.com"),但我的.NET Core App崩溃了以下内容:
发生异常:CLR / System.ComponentModel.Win32Exception An 未处理的类型' System.ComponentModel.Win32Exception' 发生在System.Diagnostics.Process.dll中:'没有这样的文件或 目录'在System.Diagnostics.Process.ResolvePath(String filename)在System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)在System.Diagnostics.Process.Start()at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)at VPGameHelper.Program.Main(String [] args)in /home/jj/VPGameHelper/Program.cs:line 30
答案 0 :(得分:2)
我认为这可能就是你要找的东西:
Process.Start for URLs on .NET Core
最初的问题被问到here在哪里。
public static void OpenBrowser(string url)
{
try
{
Process.Start(url);
}
catch
{
// hack because of this: https://github.com/dotnet/corefx/issues/10361
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
url = url.Replace("&", "^&");
Process.Start(new ProcessStartInfo("cmd", $"/c start {url}") { CreateNoWindow = true });
}
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
{
Process.Start("xdg-open", url);
}
else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
Process.Start("open", url);
}
else
{
throw;
}
}
}
欢呼和快乐的编码!