目录

部署

本文介绍了 DotNetBrowser 发布包中包含的内容以及需要部署的库。

DotNetBrowser 包含在几个动态库中。 其中一些与 DotNetBrowser 本身有关,另一些则与相应的 Chromium 二进制文件有关。

以下是 DotNetBrowser 分发包中提供的库的列表:

装配大小引用说明
DotNetBrowser.dll~240KB数据类和接口
DotNetBrowser.Core.dll~2MBDotNetBrowser.dll
DotNetBrowser.Logging.dll
核心实现
DotNetBrowser.Logging.dll~23KBDotNetBrowser 日志记录 API
执行
DotNetBrowser.Chromium.Win-x86.dll~115MBChromium 二进制文件用于
Windows 32 位
DotNetBrowser.Chromium.Win-x64.dll~120MBChromium 二进制文件用于
Windows 64 位
DotNetBrowser.Chromium.Win-arm64.dll~115MBChromium 二进制文件用于
Windows ARM64
DotNetBrowser.Chromium.Linux-x64.dll~125MBChromium 二进制文件用于
Linux 64 位
DotNetBrowser.Chromium.Linux-arm64.dll~135MBChromium 二进制文件用于
Linux ARM64
DotNetBrowser.Chromium.macOS-x64.dll~111MBChromium 二进制文件用于
macOS 64 位
DotNetBrowser.Chromium.macOS-arm64.dll~115MBChromium 二进制文件用于
macOS ARM64
DotNetBrowser.AvaloniaUi.dll~180KBDotNetBrowser.dll
DotNetBrowser.Core.dll
类和接口
嵌入到 Avalonia 11 UI
应用程序
DotNetBrowser.AvaloniaUi.v12.dll~180KBDotNetBrowser.dll
DotNetBrowser.Core.dll
类和接口
嵌入到 Avalonia 12 UI
应用程序
DotNetBrowser.Wpf.dll~170KBDotNetBrowser.dll
DotNetBrowser.Core.dll
类和接口
嵌入到 WPF 应用程序中
DotNetBrowser.WinForms.dll~120KBDotNetBrowser.dll
DotNetBrowser.Core.dll
类和接口
嵌入到 WinForms
应用程序
Google.Protobuf.dll~490KB.NET 的 Protocol Buffers 实现。 它用于执行
.NET 端与 Chromium 引擎之间的通信

Windows 

AnyCPU
DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Win-x86.dll, DotNetBrowser.Chromium.Win-x64.dll, DotNetBrowser.Chromium.Win-arm64.dllGoogle.Protobuf.dll 库必须包含在您的 .NET 应用程序中。 首次,DotNetBrowser 会检查应用程序的架构,并提取或使用适当的 Chromium 二进制文件。 在 Windows 64 位系统中,DotNetBrowser 会提取并使用 Chromium 64 位二进制文件。 在 Windows 32 位系统中,是 Chromium 32 位二进制文件。

x86
DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Win-x86.dllGoogle.Protobuf.dll。 如果是 32 位 .NET 应用程序,将提取并使用 Chromium 32 位二进制文件。 Windows 32 位和 64 位环境均支持 Chromium 32 位二进制文件。

x64
DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Win-x64.dllGoogle.Protobuf.dll。 如果是 64 位 .NET 应用程序,将提取并使用 Chromium 64 位二进制文件。 如果是 32 位 .NET 应用程序,则会抛出异常。

ARM64
DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Win-arm64.dllGoogle.Protobuf.dll。 如果是 ARM64 .NET 应用程序,将提取并使用 Chromium ARM64 二进制文件。

根据您的 .NET 应用程序框架,将添加 DotNetBrowser.Wpf.dllDotNetBrowser.WinForms.dllDotNetBrowser.AvaloniaUi.dllDotNetBrowser.AvaloniaUi.v12.dll

Linux 

x64
DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Linux-x64.dllGoogle.Protobuf.dll。 如果是 64 位 .NET 应用程序,将提取并使用 Chromium 64 位二进制文件。 如果是 32 位 .NET 应用程序,则会抛出异常。

ARM64
DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Linux-arm64.dllGoogle.Protobuf.dll。 如果是 ARM64 .NET 应用程序,将提取并使用 Chromium ARM64 二进制文件。 如果是 ARM .NET 应用程序,则会抛出异常。

如果您的应用程序使用了 Avalonia UI,则会添加 DotNetBrowser.AvaloniaUi.dllDotNetBrowser.AvaloniaUi.v12.dll

macOS 

x64
DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.macOS-x64.dllGoogle.Protobuf.dll。 如果是 64 位 .NET 应用程序,将提取并使用 Chromium 64 位二进制文件。 如果是 32 位 .NET 应用程序,则会抛出异常。

ARM64
DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.macOS-arm64.dllGoogle.Protobuf.dll。 如果是 ARM64 .NET 应用程序,将提取并使用 Chromium ARM64 二进制文件。 如果是 ARM .NET 应用程序,则会抛出异常。

如果您的应用程序使用了 Avalonia UI,则会添加 DotNetBrowser.AvaloniaUi.dllDotNetBrowser.AvaloniaUi.v12.dll

作为用户,您可以选择部署所需库的方式。

Citrix 

DotNetBrowser 可在 Windows Server 2016 及更高版本的 Citrix 环境中使用。

要运行 Chromium 和 DotNetBrowser,需要禁用 Citrix API Hooks

应禁用位于 Chromium 二进制文件目录中的 chromium.exe 文件的 API hooks。

替代解决方案是禁用 Chromium 沙盒。 请记住,这存在安全风险。 有关沙盒的更多信息,请参阅此文章