部署
本文介绍了 DotNetBrowser 发布包中包含的内容以及需要部署的库。
DotNetBrowser 包含在几个动态库中。 其中一些与 DotNetBrowser 本身有关,另一些则与相应的 Chromium 二进制文件有关。
以下是 DotNetBrowser 分发包中提供的库的列表:
| 装配 | 大小 | 引用 | 说明 |
|---|---|---|---|
| DotNetBrowser.dll | ~240KB | 数据类和接口 | |
| DotNetBrowser.Core.dll | ~2MB | DotNetBrowser.dll DotNetBrowser.Logging.dll | 核心实现 |
| DotNetBrowser.Logging.dll | ~23KB | DotNetBrowser 日志记录 API 执行 | |
| DotNetBrowser.Chromium.Win-x86.dll | ~115MB | Chromium 二进制文件用于 Windows 32 位 | |
| DotNetBrowser.Chromium.Win-x64.dll | ~120MB | Chromium 二进制文件用于 Windows 64 位 | |
| DotNetBrowser.Chromium.Win-arm64.dll | ~115MB | Chromium 二进制文件用于 Windows ARM64 | |
| DotNetBrowser.Chromium.Linux-x64.dll | ~125MB | Chromium 二进制文件用于 Linux 64 位 | |
| DotNetBrowser.Chromium.Linux-arm64.dll | ~135MB | Chromium 二进制文件用于 Linux ARM64 | |
| DotNetBrowser.Chromium.macOS-x64.dll | ~111MB | Chromium 二进制文件用于 macOS 64 位 | |
| DotNetBrowser.Chromium.macOS-arm64.dll | ~115MB | Chromium 二进制文件用于 macOS ARM64 | |
| DotNetBrowser.AvaloniaUi.dll | ~180KB | DotNetBrowser.dll DotNetBrowser.Core.dll | 类和接口 嵌入到 Avalonia 11 UI 应用程序 |
| DotNetBrowser.AvaloniaUi.v12.dll | ~180KB | DotNetBrowser.dll DotNetBrowser.Core.dll | 类和接口 嵌入到 Avalonia 12 UI 应用程序 |
| DotNetBrowser.Wpf.dll | ~170KB | DotNetBrowser.dll DotNetBrowser.Core.dll | 类和接口 嵌入到 WPF 应用程序中 |
| DotNetBrowser.WinForms.dll | ~120KB | DotNetBrowser.dll DotNetBrowser.Core.dll | 类和接口 嵌入到 WinForms 应用程序 |
| Google.Protobuf.dll | ~490KB | .NET 的 Protocol Buffers 实现。 它用于执行 .NET 端与 Chromium 引擎之间的通信 |
Windows
AnyCPUDotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Win-x86.dll, DotNetBrowser.Chromium.Win-x64.dll, DotNetBrowser.Chromium.Win-arm64.dll 和 Google.Protobuf.dll 库必须包含在您的 .NET 应用程序中。 首次,DotNetBrowser 会检查应用程序的架构,并提取或使用适当的 Chromium 二进制文件。 在 Windows 64 位系统中,DotNetBrowser 会提取并使用 Chromium 64 位二进制文件。 在 Windows 32 位系统中,是 Chromium 32 位二进制文件。
x86DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Win-x86.dll 和 Google.Protobuf.dll。 如果是 32 位 .NET 应用程序,将提取并使用 Chromium 32 位二进制文件。 Windows 32 位和 64 位环境均支持 Chromium 32 位二进制文件。
x64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Win-x64.dll 和 Google.Protobuf.dll。 如果是 64 位 .NET 应用程序,将提取并使用 Chromium 64 位二进制文件。 如果是 32 位 .NET 应用程序,则会抛出异常。
ARM64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Win-arm64.dll 和 Google.Protobuf.dll。 如果是 ARM64 .NET 应用程序,将提取并使用 Chromium ARM64 二进制文件。
根据您的 .NET 应用程序框架,将添加 DotNetBrowser.Wpf.dll、DotNetBrowser.WinForms.dll、DotNetBrowser.AvaloniaUi.dll 或 DotNetBrowser.AvaloniaUi.v12.dll。
Linux
x64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Linux-x64.dll 和 Google.Protobuf.dll。 如果是 64 位 .NET 应用程序,将提取并使用 Chromium 64 位二进制文件。 如果是 32 位 .NET 应用程序,则会抛出异常。
ARM64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.Linux-arm64.dll 和 Google.Protobuf.dll。 如果是 ARM64 .NET 应用程序,将提取并使用 Chromium ARM64 二进制文件。 如果是 ARM .NET 应用程序,则会抛出异常。
如果您的应用程序使用了 Avalonia UI,则会添加 DotNetBrowser.AvaloniaUi.dll 或 DotNetBrowser.AvaloniaUi.v12.dll。
macOS
x64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.macOS-x64.dll 和 Google.Protobuf.dll。 如果是 64 位 .NET 应用程序,将提取并使用 Chromium 64 位二进制文件。 如果是 32 位 .NET 应用程序,则会抛出异常。
ARM64DotNetBrowser.dll, DotNetBrowser.Core.dll, DotNetBrowser.Logging.dll, DotNetBrowser.Chromium.macOS-arm64.dll 和 Google.Protobuf.dll。 如果是 ARM64 .NET 应用程序,将提取并使用 Chromium ARM64 二进制文件。 如果是 ARM .NET 应用程序,则会抛出异常。
如果您的应用程序使用了 Avalonia UI,则会添加 DotNetBrowser.AvaloniaUi.dll 或 DotNetBrowser.AvaloniaUi.v12.dll。
作为用户,您可以选择部署所需库的方式。
Citrix
DotNetBrowser 可在 Windows Server 2016 及更高版本的 Citrix 环境中使用。
要运行 Chromium 和 DotNetBrowser,需要禁用 Citrix API Hooks。
应禁用位于 Chromium 二进制文件目录中的 chromium.exe 文件的 API hooks。
替代解决方案是禁用 Chromium 沙盒。 请记住,这存在安全风险。 有关沙盒的更多信息,请参阅此文章