西安软件优化网站建设,温州哪里有网站优化,网站建设 用ftp上传文件,鄂州市门户网站问题描述在传统的基于 .NET Framework 的 WPF 程序中#xff0c;我们可以使用如下代码段启动相关的默认应用#xff1a;Copy# 启动默认文本编辑器打开 helloworld.txtProcess.Start(helloworld.txt);# 启动默认浏览器打开 https:Process.Start(https://hip… 问题描述在传统的基于 .NET Framework 的 WPF 程序中我们可以使用如下代码段启动相关的默认应用Copy# 启动默认文本编辑器打开 helloworld.txtProcess.Start(helloworld.txt);# 启动默认浏览器打开 https:Process.Start(https://hippiezhou.fun/);但是上述协议方式在 .NET Core 中不再适用当我们使用上述方式进行操作程序会给我们爆如下的错误经 神樹桜乃 大佬提醒我特意看了一下 ProcessStartInfo 的说明如下图所示所以这样一来我们就有两种方式来启动文件的关联应用了。解决方法方法一手动创建 ProcessStartInfo 对象并设置 UseShellExecuteTrue示例代码如下所示CopyProcessStartInfo startInfo new ProcessStartInfo();startInfo.UseShellExecute true;startInfo.FileName https://hippiezhou.fun;Process.Start(startInfo);方法二使用 UWP平台下的 中的 Launcher 来启动管理应用。注使用如下方法的前提是需要我们的机器上安装 Windows 10 任一版本的 SDK否则无法正常使用。做过 UWP 开发的朋友应该对 Launcher 族下的 API 有所了解这个下面的相关方法能够启动系统默认应用。我们想在 .NET Core 3.0 WPF 使用这个族的 API 需要进行一些配置才可以。首先我们需要修改我们的 .csproj 文件使项目能够使用上述的 API修改如下所示CopyProject SdkMicrosoft.NET.Sdk.WindowsDesktop PropertyGroup OutputTypeWinExe/OutputType TargetFrameworknetcoreapp3.0/TargetFramework UseWPFtrue/UseWPF /PropertyGroup !--新增节点-- ItemGroup PackageReference IncludeSystem.Runtime.WindowsRuntime Version4.3.0 / /ItemGroup !--新增节点-- ItemGroup Reference IncludeWindows HintPath$(MSBuildProgramFiles32)\Windows Kits\10\UnionMetadata\10.0.17763.0\Windows.winmd/HintPath IsWinMDFiletrue/IsWinMDFile Privatefalse/Private /Reference /ItemGroup/Project然后重新加载我们的项目这个时候就可以使用 Launcher 了。比如我们可以使用如下方式调用默认浏览器打开目标网址Copyawait Launcher.LaunchUriAsync(new Uri(https://hippiezhou.fun/));相关参考C#/.NET 中启动进程时所使用的 UseShellExecute 设置为 true 和 false 分别代表什么意思Windows.System.LauncherHow to launch another app using protocol on .NET Core 3.0 WPF app原文地址https://www.cnblogs.com/hippieZhou/p/10683191.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com