[V9.2.0 Jul 2020][Windows][Linux]

Installing IBM MQ classes for .NET Standard

From IBM® MQ 9.2.0, IBM MQ classes for .NET Standard, including samples, are installed with IBM MQ on Windows and Linux®. There is a prerequisite of Microsoft.NET Core for IBM MQ classes for .NET Standard.

Prerequisites and installation

From IBM MQ 9.2.0, the IBM MQ classes for .NET Standard are available on Windows and Linux. To run IBM MQ classes for .NET Standard, you must install Microsoft .NET Core.

[V9.2.0 Jul 2020][V9.2.0 Jul 2020]From IBM MQ 9.2.0, Microsoft.NET Core 3.1 is the minimum required version for running IBM MQ classes for .NET Standard.

The latest version of IBM MQ classes for .NET Standard is installed by default as part of the standard IBM MQ installation in the Java and .NET Messaging and Web Services feature.

[Windows]For more information about prerequisites and installation on Windows:
[Linux]For more information about prerequisites and installation on Linux:

The IBM MQ classes for .NET Standard library, amqmdnetstd.dll, is available for downloading from the NuGet repository. For more information, see Downloading IBM MQ classes for .NET Standard from the NuGet repository.

amqmdnetstd.dll library

[Windows]The amqmdnetstd.dll library is available for .NET Standard support on Windows. Sample applications, including source files, are also supplied. The sample applications are installed in &MQINSTALL_PATH&/samp/dotnet/samples/cs/core/base.

[Linux]The amqmdnetstd.dll library is also available on Linux. The library is installed into /&MQINSTALL_PATH&/lib64 path when an IBM MQ client is installed on Linux. The .NET samples are located in &MQINSTALL_PATH&/samp/dotnet/samples/cs/core/base.

Any library built against the Microsoft .NET Standard specification can be used for developing .NET Framework applications as well as .NET Core applications.

Attention: The amqmdnet.dll library for .NET Framework is still supplied, but this library is stabilized; that is, no new features will be introduced into it.

For any of the latest features you must migrate to the amqmdnetstd.dll library. However, you can continue to use the amqmdnet.dll library on IBM MQ 9.1 or later Long Term Support or Continuous Delivery releases.

dspmqver command

You can use the dspmqver command to display version and build information for the .NET Core component.

IBM MQ classes for .NET Framework and IBM MQ classes for .NET Standard features

The following table lists the features for IBM MQ classes for .NET Framework compared with the features for IBM MQ classes for .NET Standard.

Table 1. Differences between IBM MQ classes for .NET Framework and IBM MQ classes for .NET Standard features
Feature IBM MQ classes for .NET Framework IBM MQ classes for .NET Standard
Class Names (APIs) All classes remain the same in each network. All classes remain the same in each network.
Operating System Windows
Windows
Dockerized containers

Linux

macOS

app.config file (Configuration file to enable Trace in redistributable client) app.config file is used to enable trace for the redistributable package app.config is not supported in .NET Standard.

You have to use environment variables in place of app.config.

Trace The strmqtrc command and, for redistributable clients, the app.config file, are used to enable trace. The strmqtrc command. To enable trace for the redistributable package, environment variables must be used.

For IBM MQ .NET, the environment variable MQDOTNET_TRACE_ON is used to enable trace for redistributable clients..

A value of -1 enables default level tracing. Any other integer value, greater than 0, enables detailed tracing. Setting this environment variable to any other value does not enable trace.

Transport Modes Managed, Unmanaged, and Bindings Managed
TLS The Windows keystore is used for storing the certificates.

[Windows]On Windows, the keystore must be used for storing the certificates. Permitted values are *USER or *SYSTEM. Based on the input, the IBM MQ .NET client looks at the Windows key store of the current user, or System wide.

[Linux]On Linux, it is recommended to use the X509Store class to install certificates and .NET Core installs certificates to the following location: ".dotnet/corefx/cryptography/x509stores".

CCDT Supported Supported, and the settings of the CCDT path are the same as for .NET Framework classes.
Client auto reconnect Supported Supported
Distributed transactions Supported Not supported
Installation of dynamic linked libraries (dll's) into the global assembly cache (GAC) Dll's are installed into the GAC as part of the IBM MQ installation. Dll's are not installed into the GAC as part of the IBM MQ installation.
[Windows]Note: Windows security identifiers (SIDs):

Domain level authentication is not supported for IBM MQ .NET Standard classes. The logged-in user ID is used for authentication.

In addition to the environment variable MQDOTNET_TRACE_ON used to enable trace on IBM MQ .NET Standard, other environment variables including MQERRORPATH, MQLOGLEVEL, MQSERVER, and so on, that are used for IBM MQ classes for .NET Framework, can be used for IBM MQ classes for .NET Standard as well. These variables work in the same way for both IBM MQ classes for .NET Standard and IBM MQ classes for .NET Framework.

[V9.2.0 Jul 2020]

Developing IBM MQ .NET Core applications on macOS

IBM MQ .NET Core applications can be developed on macOS.

The IBM MQ .NET libraries are not packaged with the macOS toolkit so you must copy them from a Windows or Linux IBM MQ client on to macOS. You can then use these libraries to develop IBM MQ .NET Core applications on macOS.

Once developed, these applications can be run supported on either Windows or Linux environments.