发布使用Microsoft Edge WebView2的应用程序时,客户端计算机上需要安装WebView2运行时,可以安装自动更新的Evergreen运行时,也可以安装固定版本的。
长青版WebView2运行时将作为Windows 11操作系统的一部分包含在内。但是在Windows 11之前(Win10、Win8.1、Win7等),某些设备可能未预安装WebView2运行时。在桌面程序(WinForm、WPF、WinUI、Win32)安装、更新、启动后或创建 WebView2对象之前,程序可以自动执行此检查。通过检查注册表项或调用 API 来检查客户端电脑中是否已经安装了 WebView2 运行时,并在缺少时自动安装它。
在我的博客《.NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件》中介绍了WinForm程序中集成WebView2控件的基本实现方式,首先通过NuGet管理器引用Microsoft.Web.WebView2控件
在我的博客《.NET混合开发解决方案15 WebView2控件集成到WinForm程序编译后的文件及结构说明》中介绍了将WebView2控件集成到WinForm程序中编译后的文件及结构信息
微软近期宣布,旗下 Teams 应用活跃用户已经达到惊人的 2.5 亿。这让 Teams 成了继 Word 和 Excel 之后,微软 Office 生产力套件中的又一位当红明星。然而,Teams 一直受到性能问题的困扰,用户们对此吐槽不断。
2017 年时,Electron 可以说是 Web 应用在桌面平台发布的最佳、甚至是唯一选项,但如今它却成了需要被优化淘汰的对象。
在我的博客《C#开发BIMFACE系列49 Web网页集成BIMFACE应用的技术方案》、《C#开发BIMFACE系列50 Web网页中使用jQuery加载模型与图纸》、《C#开发BIMFACE系列51 Web网页中使用Vue.js加载模型与图纸》三篇文章中介绍了Web网页中集成BIMFace应用开发的技术方案与示例程序。在建筑领域中涉及的应用管理系统绝大部分都是BS架构Web形式,这是主流趋势。BIMFACE在网页中加载浏览模型图纸时用到了HTML5、CSS3、WebGL等新技术,无需安装任何插件,极速流畅的浏览体验,并且可以集成应用于App、小程序、公众号等移动端。
WebView2组件支持在WinForm、WPF、WinUI3、Win32应用程序中集成加载Web网页功能应用。本篇主要介绍如何在WinForm程序中集成WebView2组价的详细过程。
.NET混合开发解决方案19 使用 DevTools 协议帮助程序 .NET混合开发解决方案20 使用 Microsoft Edge WebDriver 自动执行和测试 WebView2 应用 .NET混合开发解决方案21 WebView2 应用的开发最佳做法 .NET混合开发解决方案22 开发安全的 WebView2 应用 .NET混合开发解决方案23 将 WebView2 应用分发为单个可执行文件
客户端程序(WinForm、WPF、Win32、WinUI)集成WebView控件加载Web完成后,还有两种常见的需求
WebView2和CEF相比,在WPF中CEF相当于把渲染的界面生成图片再加载,而WebView2则没有这一步,性能有显著提升。
https://tauri.app/zh-cn/v1/guides/getting-started/prerequisites/
在我的博客《.NET混合开发解决方案10 WebView2控件调用网页JS方法》中介绍了C#调用网页中定义的JavaScript方法以执行某种业务逻辑,同样WebView2控件中加载的网页中自定义的JavaScript方法中也可以调用C#方法。
WebView2 应用的基本身份验证包括从 HTTP 服务器检索网页的一系列身份验证和导航步骤。 WebView2 控件充当主机应用和 HTTP 服务器之间通信的中介。
在前一篇博客《.NET混合开发解决方案11 网页JS调用C#方法》中介绍了JS访问C#方法的简单实现方式。但是在企业级应用软件中业务需求可能更加复杂,如JS调用C#方法之后,需要访问宿主的窗体,设置窗体(WinForm、WPF、WinUI、Win32)中的控件等。
WebView2 运行时使用与 Microsoft Edge 浏览器相同的进程模型。
在我的博客《.NET混合开发解决方案7 WinForm程序中集成WebView2》中介绍了WinForm程序中集成WebView2组件的详细步骤以及注意事项。这只是最基本的应用,WebView2功能之所以强大,是因为它提供了很多开放的属性与事件供开发者调用以完成复杂的功能。具体可以参考我的博客《.NET混合开发解决方案2 WebView2与Edge浏览器的区别》。
WinForm程序中集成WebView2控件后,编译项目(不运行),查看编译后的内容如下
对比可以看出WebView2控件中的右键上下文菜单内容比Edge浏览器中网页的右键右键上下文菜单的数量少。结合我的博客《.NET混合开发解决方案2 WebView2与Edge浏览器的区别》可知,WebView2控件中对于网页右键上下文菜单做了裁剪。
https://docs.microsoft.com/zh-cn/microsoft-edge/webview2/get-started/wpf
WebView2 项目得天独厚,有微软操作系统win10以及win11的加持,最起码,生成的项目文件是很小的,我这边是3.6M,相对于CefSharp项目动辄100M的大小来讲,大大降低分发的大小,所以还是值得深入研究一下的。
在我的博客《.NET桌面程序集成Web网页开发的多种解决方案》中介绍了10种.NET集成网页开发的控件。本系列着重介绍 Microsoft Edge WebView2 组件技术。
https://wails.io/zh-Hans/docs/gettingstarted/installation
Autodesk AutoCAD珊瑚海精简版是一款计算机辅助设计软件的AutoCAD精简版,CAD绘图软件的DWG格式是业界使用最广泛的设计数据格式,工程制图演示,图纸渲染和绘图工具及三维打印功能,让你的设计更出色.
本系列文章详细介绍使用 .net core 和 WPF 开发 升讯威在线客服与营销系统 的过程。本产品已经成熟稳定并投入商用。
好了,前面两篇铺垫了一些内容,这周终于进行这个话题的核心内容了,就是对于跨平台桌面来说,Electron与WebView2这两个非常类似的技术方案究竟哪个更合适?
B/S架构的Web程序几乎占据了应用软件的绝大多数市场,但是C/S架构的WinForm、WPF客户端程序依然具有很实用的价值,如设计类软件 AutoCAD与Autodesk Revit、WPS、IT类的集成开发环境(数据库、图形处理软件)、PC端的小工具等等,充分利用了客户端电脑的资源综合计算能力,处理性能更加优秀。如果想在C/S架构的客户端程序中集成Web应用,也只能借助Web网页,然后将网页集成到客户端程序中,这样就间接的达到了目的。下面是客户端审图系统中集成Web网页的实际应用案例
AutoCAD 2023是一款自动计算机辅助设计软件,可绘制二维图纸和三维设计,基本不需要知道编程,通过它就可以自动绘图,因此它在全球范围内被广泛应用,可用于土木建筑、装饰、工业制图、工程制图、电子工业、服装加工等。Cad2023不仅在二维绘图处理上更加成熟,而且在三维功能上也更加完善,建模和渲染都非常容易。
WebView2控件基于组件对象模型(COM),必须在单线程单元(STA)线程上运行。
2.178 (2019-05-20) 将 jmDNS 从3.4.0-jenkins-3更新到3.5.5,以防止不必要的 DNS 组播错误消息。 (issue 25369) 将 WinP 从1.27更新到1.28,以修复 Windows 优雅进程关闭逻辑中缺少 DLL 和控制台窗口闪烁的问题。 (issue 57477, 完整的变更日志) 确保独立的插件(插件曾经是 Jenkins 本身的一部分功能)在 Jenkins 启动时(需要时)作为已经存在的其他插件的隐含依赖项安装。 这简化了不使用更新中心的特殊安
我们都知道对于桌面应用开发来说,人们常用的方式就是采用c++或者c#,java等进行开发,然而这些语言开发效率不够高,不如网页开发灵活。因此,人们思考能否采用html+css+js的方式来开发桌面客户端呢,于是人们就提出了混合开发概念,并且开发了electron框架进行桌面开发。
感觉让自己的桌面动起来非常屌,使用其他的软件不是这收费就是下载不了,没法设置。首先看windows窗体查看工具spy++查看windows桌面如图我们需要把我们的窗体,我们只要将我们的窗体放在第二WorkerW下即可。
当配置C#开发环境时,安装.NET Core是一个重要的步骤。以下是安装.NET Core的基本过程:
2019年,微软分享了【统一的.NET堆栈和生态系统的愿景】。给开发者带来的价值是,将能够使用一组API,语言和工具来针对广泛的应用程序类型,包括移动,云,桌面和IoT。可能会意识到,如今已经可以使用.NET定位广泛的平台,但是,这些工具和API在Web和Mobile上并不总是相同的,例如它们不是同时发布的。
Visual Studio 2019 16.3 和 .NET Core 3.0 Preview 7 改进了 Windows 上 .NET Core 的安装体验。目标是减少计算机上可能存在的 .NET Core 版本的数量。这些改进基于客户反馈和我们自己的经验,并为未来的改进奠定了基础。
有好几个公众号发文说“微软要放弃Electron了”,实际情况是微软旗下的Teams产品打算把Electron框架换成WebView2而已。接下来我就聊一下这个事情:
Wails 是一个可让您使用 Go 和 Web 技术编写桌面应用的项目。将它看作为 Go 的快并且轻量的 Electron 替代品。您可以使用 Go 的灵活性和强大功能,结合丰富的现代前端,轻松的构建应用程序。它支持如下功能:
v2.204.5 (2020-03-07) 此版本重新引入了 Jenkins 2.177 到 2.203.3 的系统日志记录自定义缺陷(JENKINS-57888 - 系统日志记录自定义),因为它不如其它被修复的缺陷那么严重。计划在 2.22.1 版本中修复。 修复最大表单内容大小和表单内容密钥的传递(由 Jenkins 2.204.3 和 Jetty 9.4.20 引入的缺陷回归)。 修复由于 X-Forwarded-Host 和 X-Forwarded-Port 订阅问题而导致的将不正确的反向代理重定
这个框架是两个挪威人在1995年创建的,发展至今可以说历史相当悠久,稳定性也很有保障。
在这篇文章中,我暂时会放下Electron与WebView2的一个对比,而聊一聊跨平台这个对于程序员群体来说不陌生的词。
.NET SDK 包含遥测功能,可在 .NET CLI 崩溃时收集使用情况数据和异常信息。 .NET CLI 附带 .NET SDK,是一组用于生成、测试和发布 .NET 应用的谓词。 请务必让 .NET 团队了解到工具使用情况,以便我们对其做出改进。 有关故障的信息可帮助团队解决问题并修复 bug。 收集的数据根据 Creative Commons Attribution 许可证以汇总形式发布。 范围 dotnet 具有两个功能:运行应用程序和执行 CLI 命令。 按以下格式使用 dotnet 来启动应用程序时,不会收集遥测数据: dotnet [path-to-app].dll 使用任何 .NET CLI 命令时,都会收集遥测数据,如: dotnet build dotnet pack dotnet run 如何选择退出 .NET SDK 遥测功能默认处于启用状态。 要选择退出遥测功能,请将 DOTNET_CLI_TELEMETRY_OPTOUT 环境变量设置为 1 或 true。 如果安装成功,.NET SDK 安装程序也会发送一个遥测条目。 若要选择退出,请在安装 .NET SDK 之前设置 DOTNET_CLI_TELEMETRY_OPTOUT 环境变量。 重要 要在启动安装程序后选择退出,请执行以下操作:关闭安装程序,设置环境变量,然后使用该值集再次运行安装程序。 公开 首次运行其中一个 .NET CLI 命令(如 dotnet build)时,.NET SDK 显示以下类似文本。 文本可能会因运行的 SDK 版本而略有不同。 此“首次运行”体验是 Microsoft 通知用户有关数据收集信息的方式。 Telemetry --------- The .NET tools collect usage data in order to help us improve your experience. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry 若要禁用此消息和 .NET 欢迎消息,请将 DOTNET_NOLOGO 环境变量设置为 true。 请注意,此变量在遥测选择退出时不起作用。 数据点 遥测功能不收集用户名或电子邮件地址等个人数据。 也不会扫描代码,更不会提取项目级敏感数据,如名称、存储库或作者。 数据通过 Azure Monitor 技术安全地发送到 Microsoft 服务器,提供对保留数据的受限访问权限,并在严格的安全控制下从安全的 Azure 存储系统发布。 保护你的隐私对我们很重要。 如果你怀疑遥测在收集敏感数据,或认为处理数据的方式不安全或不恰当,请在 dotnet/sdk 存储库中记录问题或发送电子邮件至 dotnet@microsoft.com 以供我们展开调查。 遥测功能收集以下数据: SDK 版本 数据 全部 调用时间戳。 全部 调用的命令(例如,“build”),从 2.1 开始进行哈希处理。 全部 用于确定地理位置的三个八进制数 IP 地址。 全部 操作系统和版本。 全部 运行 SDK 的运行时 ID (RID)。 全部 .NET SDK 版本。 全部 遥测配置文件:一个可选值,仅在用户显式选择加入时可用,并在 Microsoft 内部使用。 >=2.0 命令参数和选项:收集若干参数和选项(非任意字符串)。 请参阅收集的选项。 从 2.1.300 后进行哈希处理。 >=2.0 SDK 是否在容器中运行。 >=2.0 目标框架(来自 TargetFramework 事件),从 2.1 开始进行哈希处理。 >=2.0 经过哈希处理的媒体访问控制 (MAC) 地址 (SHA256)。 >=2.0 经过哈希处理的当前工作目录。 >=2.0 安装成功报告,包含进行了哈希处理的安装程序 exe 文件名。 >=2.1.300 内核版本。 >=2.1.300 Libc 发行/版本。 >=3.0.100 是否已重定向输出(true 或 false)。 >=3.0.100 CLI/SDK 故障时的异常类型及其堆栈跟踪(发送的堆栈跟踪中仅包含 CLI/SDK 代码)。 有关详细信息,请参阅收集的 .NET CLI/SDK 故障异常遥测。 >=5.0.100 用于生成的经过哈希处理的 TargetFr
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ Tauri:“使用 Web 前端构建更小、更快、更安全的桌面应用程序。”,使用taurl的基础环境包括Rust,Node(可选)和各操作系统中的构建工具,如:build-essential, xcode-select or C++ build tools。 前置安装(Windows)安装: 系统依赖:https://visualstudio.microsoft.com/zh-hans/visual-cp
我在2020年曾经基于Electron开发过一个跨平台桌面应用,在一定的条件下,Electron是非常好的选择。
现在不会有人还不会用思维导图吧?!在日常生活、学习和工作之中,我们难免会面对纷乱繁杂的知识或信息,运用思维导图对信息和内容进行整理,可以直接有效且高效地将散点链接成为相关联的、有逻辑的整体。当我们善用
因为咱们的MongoDB入门到实战教程Web端准备使用Blazor来作为前端展示UI,本篇文章主要是介绍Blazor是一个怎样的Web UI框架,其优势和特点在哪?并带你快速入门上手ASP.NET Core Blazor(当然这个前提是你要有一定的C#编程基础的情况,假如你完全没有接触过C#的话建议你先从基本语法学起)。
企业级信息化系统绝大部分采用BS架构实现,如门户网站、OA系统、电商网站等,通过浏览器输入Web网址即可访问,对于使用者来说非常便捷,对于开发维护者来说也非常方便,程序维护只需更新服务器即可,使用者无感知。但是CS架构的WinForm客户端程序仍然具有很实用的价值,如WPS、IT类的集成开发环境(数据库、图形处理软件)、PC端的小工具。本地程序处理性能更优秀,但是频繁更新带来不友好的客户端体验。还有一种非常常见且实用的业务场景, Web网页与WinForm程序互相集成应用。
https://www.cnblogs.com/eventhorizon/p/17481757.html
你可以使用 .NET 卸载工具 (dotnet-core-uninstall) 从系统中删除 .NET SDK 和运行时。 可使用选项集合来指定要卸载的版本。
本文介绍如何在 Windows 上安装 .NET。 .NET 由运行时和 SDK 组成。 运行时用于运行 .NET 应用,应用可能包含也可能不包含它。 SDK 用于创建 .NET 应用和库。 .NET 运行时始终随 SDK 一起安装。当前最新版本的 .NET 是 5.0。点击此处,下载.NET Core/.NET。
领取专属 10元无门槛券
手把手带您无忧上云