最新消息:ww12345678 的部落格重装上线,希望大家继续支持。

在 AX 2012 中嵌入以 Edge/Chorme(Google Chromium) 为内核的网页浏览器

AX 2012 William 784浏览 0评论

在 AX2012 Form 中嵌入 Web 页面的方法很简单,只需要在 Form 上放置一个 activex 控件,选 microsoft web browser,然后在 form 初始化或者相应地方调用 activex.navigate(“https://cn.bing.com”); 即可轻松实现。

这个方法的一个致命缺陷在于 microsoft web browser 控件调用的是IE浏览器的内核,下面我们将介绍如何调用 Microsoft Edge WebView2 网页控件( 基于 Chromium 内核) 的 Web 页面嵌入方法。

在Microsoft Dynamics AX 2012 中嵌入以Edge为内核的网页浏览器

Microsoft Edge WebView2 简介

WebView2 Microsoft Edge允许你将 Web 技术 (HTML、CSS 和 JavaScript) 本机应用中。 WebView2 控件使用Microsoft Edge作为呈现引擎,以在本机应用中显示 Web 内容。 使用 WebView2,可以在本机应用的不同部分嵌入 Web 代码,或在单个 WebView 实例中生成所有本机应用。 要了解如何开始生成 WebView2 应用,请导航到 入门

步骤 0 – 先决条件

  1. 在准备运行 Dynamics AX 2012 客户端的电脑上安装 WebView2 运行时(开发者和AX终端用户都需要安装此运行时

下载地址:https://developer.microsoft.com/zh-cn/microsoft-edge/webview2/

步骤 1 – 使用 Visual Studio 创建单窗口应用

这一步的目的是为了利用 Visual Studio 的 NuGet 包管理器获得 WebView2 .NET 控件

从包含单个主窗口的基本桌面项目开始。

  1. 打开 Visual Studio 2019 、2017、2015均可以。
  2. 单击 “文件 > “” > 新建Project”。
  3. 单击 “新建项目”。
  4. 选择C# Windows Forms App (.NET Framework) “, 然后单击”下一步”。
  5. 输入 name 和location Project值。 在”框架”下拉列表中,.NET Framework 4.7.2或更高版本。
  6. 单击“创建”****。

步骤 2 – 安装 WebView2 SDK

使用 NuGet 将 WebView2 SDK 添加到项目中。

  1. 在 “解决方案资源管理器”中,右键单击项目名称,然后选择”管理NuGet包”。
  2. 单击浏览。
  3. 选中 “包括预发布” 复选框。
    在搜索栏中,键入 WebView2 ,然后单击 “Microsoft.Web.WebView2″。
  4. 接受默认版本,然后选择”安装 “。
  5. 单击确定继续。
  6. 单击 ” > **文件全部保存 (Ctrl+Shift+S) **以保存项目。
  7. 按 F5 生成并运行项目。

项目成功运行后,我们就可以在Debug目录获得WebView2 .NET 控件的相关文件

步骤 2 – 将 WebView2 .NET 控件的相关文件复制到Dynamics AX 2012 Client 的 Bin 目录

  1. 将上一步获得的 WebView2 .NET 控件的相关文件和文件夹全部复制到 Dynamics AX 2012 Client 的 Bin 目录(开发人员和最终用户都需要复制此文件和文件夹

步骤 3 – 为 Dynamics AX 2012 添加引用

地址:https://docs.microsoft.com/en-us/dynamicsax-2012/developer/how-to-add-a-reference-to-a-net-assembly

将程序集添加到 AOT 的引用节点

步骤 4 – 为 Dynamics AX 2012 创建添加 WebView2 控件

  1. 在AOT创建窗体
  2. 添加 ManagedHost 控件
  3. 在 托管的控件选择器 选择 Microsoft.Web.WebView2.WinForms 控件
  4. 修改控件的属性
  5. 打开窗体代码编辑器添加如下代码

public class FormRun extends ObjectRun
{
Microsoft.Web.WebView2.WinForms.WebView2 webView2;
System.Uri uri;
}

public void init()
{
super();
webView2 = ManagedHost.control();
uri = new System.Uri(@”https://cn.bing.com”);
webView2.set_Width(1600);
webView2.set_Height(900);
webView2.set_Source(uri);
}

运行窗体,完美嵌入Edge核心的页面

为普通用户部署 Microsoft Edge WebView2 网页控件( Chromium 内核)

1.安装 WebView2 运行时

MicrosoftEdgeWebView2RuntimeInstallerX64.exe or MicrosoftEdgeWebView2RuntimeInstallerX86.exe

2.将 WebView2 控件的相关文件复制到 Dynamics AX 2012 Client 的 Bin 目录

WebView2 :下载

Bin 目录默认位置:C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin

3.以管理员身份运行一次(仅需一次) Dynamics AX 2012 Client ,让其生成 C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin\Ax32.exe.WebView2 文件夹

4.为 C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin\Ax32.exe.WebView2 文件夹分配写入权限

转载请注明:ww12345678 的部落格 | AX Helper » 在 AX 2012 中嵌入以 Edge/Chorme(Google Chromium) 为内核的网页浏览器

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址