[Windows][Linux]

安装 IBM MQ classes for XMS .NET

IBM® MQ classes for XMS .NET(包括样本) 随 IBM MQ 一起安装在 WindowsLinux®上。

IBM MQ 9.2.0开始, Microsoft.NET Core 3.1 是运行 IBM MQ classes for XMS .NET Standard所需的最低版本。

[MQ 9.3.0 2022 年 6 月][MQ 9.3.0 2022 年 6 月]IBM MQ 9.3.0开始, IBM MQ 支持 .NET 6 应用程序使用 IBM MQ classes for XMS .NET Standard如果您正在使用 .NET Core 3.1 应用程序,那么可以通过在 csproj 文件中进行小型编辑来运行此应用程序,将 targetframeworkversion 设置为 "net6.0",而无需进行任何重新编译。

[MQ 9.3.1 2022 年 10 月]IBM MQ 9.3.1 提供了针对 .NET 6 构建的 XMS .NET 客户机库作为目标框架。 从 IBM MQ 9.3.1开始, Microsoft .NET 6.0 是使用使用 .NET 6 作为目标框架构建的 IBM MQ 库来运行应用程序所需的最低版本。

[MQ 9.3.1 2022 年 10 月]IBM MQ 9.3.1开始,使用 .NET Standard 构建的 XMS .NET 客户机库在新文件夹 netstandard2.0 下可用,使用 .NET 6 作为目标框架构建的 XMS .NET 客户机库在 Windows 上的 MQ_INSTALLATION_PATH/binLinux上的 MQ_INSTALLATION_PATH/lib64 下可用。

amqmxmsstd.dll

[MQ 9.3.1 2022 年 10 月]IBM MQ 9.3.1开始, amqmxmsstd.dll 库在以下位置可用
使用 .NET Standard 2.0 作为目标框架构建的库
  • [Windows]Windows上: MQ_INSTALLATION_PATH\bin\netstandard2.0
  • [Linux]Linux上: MQ_INSTALLATION_PATH\lib64\netstandard2.0
[不推荐]不推荐使用这些库, IBM 打算在将来的发行版中除去这些库。
使用 .NET 6 作为目标框架构建的库
  • [Windows]Windows上: MQ_INSTALLATION_PATH\bin。 样本应用程序安装在 MQ_INSTALLATION_PATH/samp/dotnet/samples/cs/core/base中。
  • [Linux]Linux上: MQ_INSTALLATION_PATH\lib64.NET 样本位于 MQ_INSTALLATION_PATH/samp/dotnet/samples/cs/core/base中。
[MQ 9.3.1 2022 年 10 月]对于 IBM MQ 9.3.0 Long Term SupportIBM MQ classes for XMS .NET Standardamqmxmsstd.dll位于以下位置:
  • [Windows]Windows上: MQ_INSTALLATION_PATH\bin。 样本应用程序安装在 MQ_INSTALLATION_PATH/samp/dotnet/samples/cs/core/xms中。
  • [Linux]Linux上: MQ_INSTALLATION_PATH/lib64 path.NET 样本位于 MQ_INSTALLATION_PATH/samp/dotnet/samples/cs/core/xms中。
有关更多信息,请参阅 安装 IBM MQ classes for .NET
注意: [不推荐][MQ 9.3.1 2022 年 10 月]IBM MQ 9.3.1开始,不推荐使用 .NET Standard 2.0 作为目标框架构建的 IBM MQ .NET 客户机库,在编译期间,引用这些库的应用程序会抛出警告 CS0618

[稳定]仍提供所有 IBM.XMS.* 库,但这些库已稳定; 即,不会在这些库中引入任何新功能。 要获取任何最新功能部件,您必须迁移至 amqmxmsstd.dll 库。 但是,您可以继续使用 IBM MQ 9.1 Long Term SupportContinuous Delivery 发行版上的现有库。

[MQ 9.3.1 2022 年 10 月]如果使用 amqmdnetstd.dllamqmxmsstd.dll 从低于 IBM MQ 9.3.1 的版本编译 .NET Framework 应用程序,并且使用基于 .NET 6IBM MQ 客户机库运行同一应用程序,请执行以下操作:FileLoadException异常类型由 .NET抛出:
捕获到异常: System.IO.FileLoadException: 无法装入文件或组合件 
'amqmdnetstd , Version =x.x.x.x,Culture=中性, PublicKeyToken=23d6cb914eeaac0e' 或 
它的一个依赖关系。 找到的组合件的清单定义与 
组合件引用。 (来自 HRESULT 的异常: 0x80131040)

文件名: ' amqmdnetstd , Version =x.x.x.x,Culture=中性, 
PublicKeyToken=23d6cb914eeaac0e' 
要解决此错误,必须将 MQ_INSTALLATION_PATH/bin/netstandard2.0 中存在的库复制到运行 .NET Framework 应用程序的目录中。

IBM MQ 9.2.0开始,可从 NuGet 存储库下载 IBM MQ classes for XMS .NET StandardNuGet 包同时包含 amqmxmsstd.dll 库和 amqmdnetstd.dll 库。 amqmxmsstd.dll 依赖于 amqmdnetstd.dll ,并且在打包 XMS .NET Core 应用程序时,应该将 amqmxmsstd.dllamqmdnetstd.dllXMS .NET Core 应用程序一起打包。 有关更多信息,请参阅 从 NuGet 存储库下载 XMS .NET 的 IBM MQ 类

dspmqver 命令

您可以使用 dspmqver 命令来显示 .NET Core 组件的版本和构建信息。

IBM MQ classes for XMS .NET FrameworkIBM MQ classes for XMS .NET (.NET Standard.NET 6 库) 之间的比较

下表列出了与 IBM MQ classes for XMS .NET (.NET Standard.NET 6 库) 的功能部件相比, IBM MQ classes for XMS .NET Framework 的功能部件。

表 1. IBM MQ classes for XMS .NET FrameworkIBM MQ classes for XMS .NET (.NET Standard.NET 6 库) 之间的差异
功能部件 IBM MQ classes for XMS .NET Framework IBM MQ classes for XMS .NET (.NET Standard.NET 6 库)
类名 (API) 所有类在每个网络中都保持不变。 所有类在每个网络中都保持不变。
操作系统 Windows
Windows
Dockerized 容器
Linux
macOS
app.config 文件(用于在可再分发客户机中启用跟踪的配置文件) app.config 文件用于对可重新分发的软件包启用跟踪。 不支持 app.config。 使用环境变量。
跟踪 要跟踪 XMS .NET 客户机,可以使用现有环境变量,例如用于启用跟踪的环境变量 XMS_TRACE_ON 。 有关更多信息,请参阅 使用 XMS 环境变量配置 XMS .NET 跟踪

对于可再分发的客户机,可以使用 app.config 文件来启用跟踪。

要跟踪 XMS .NET 客户机,可以使用现有环境变量,例如用于启用跟踪的环境变量 XMS_TRACE_ON 。 有关更多信息,请参阅 使用 XMS 环境变量配置 XMS .NET 跟踪
传输方式 受管、非受管和绑定 受管
TLS Windows 密钥库用于存储证书。

Windows 上,必须使用密钥库来存储证书。 允许的值为 *USER 或 *SYSTEM。 根据输入,IBM MQ .NET 客户机将查看当前用户或系统范围内的 Windows 密钥库。

Linux 上,建议使用 X509Store 类来安装证书,.NET Core 会将证书安装到以下位置:".dotnet/corefx/cryptography/x509stores"

CCDT 支持 支持,并且 CCDT 路径的设置对与 .NET Framework 类的相同。
客户机自动重新连接 支持 支持
分布式事务 支持 不支持
将动态链接库 (dll's) 安装到全局组合件高速缓存 (GAC) 中 Dll 's 作为 IBM MQ 安装的一部分安装到 GAC 中。 Dll 未作为 IBM MQ 安装的一部分安装到 GAC 中。
支持 WMQ、WPM 和 RTT 连接类型 支持 WMQ、WPM 和 RTT 连接类型 仅支持 WMQ
JNDI 受管对象 支持 LDAP 和 FileSystem 仅支持 FileSystem

[MQ 9.3.0 2022 年 6 月][MQ 9.3.0 2022 年 6 月]IBM MQ 9.3.0开始,要运行 IBM MQ classes for XMS .NET Framework ,必须安装 Microsoft.NET Framework V4.7.2 或更高版本。