OPCFoundation.NetStandard.Opc.Ua.Client 2.0.0-preview.2

Prefix Reserved
This is a prerelease version of OPCFoundation.NetStandard.Opc.Ua.Client.
dotnet add package OPCFoundation.NetStandard.Opc.Ua.Client --version 2.0.0-preview.2
                    
NuGet\Install-Package OPCFoundation.NetStandard.Opc.Ua.Client -Version 2.0.0-preview.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Client" Version="2.0.0-preview.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OPCFoundation.NetStandard.Opc.Ua.Client" Version="2.0.0-preview.2" />
                    
Directory.Packages.props
<PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OPCFoundation.NetStandard.Opc.Ua.Client --version 2.0.0-preview.2
                    
#r "nuget: OPCFoundation.NetStandard.Opc.Ua.Client, 2.0.0-preview.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package OPCFoundation.NetStandard.Opc.Ua.Client@2.0.0-preview.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OPCFoundation.NetStandard.Opc.Ua.Client&version=2.0.0-preview.2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=OPCFoundation.NetStandard.Opc.Ua.Client&version=2.0.0-preview.2&prerelease
                    
Install as a Cake Tool

OPC UA .NET Standard — Client

OPCFoundation.NetStandard.Opc.Ua.Client is the high-level OPC UA client library. It contains the Session and ManagedSession implementations, the V2 subscription engine, the central ClientChannelManager (channel sharing + transparent reconnect), the ReverseConnectManager, and the fluent builder.AddClient(...) DI surface.

Overview

Use this package for any application that needs to:

  • open OPC UA sessions to a server (forward or reverse-connect),
  • subscribe to monitored items (with the V2 streaming engine or the classic Session.AddSubscription API),
  • call methods, browse the address space, read / write attributes,
  • transfer subscriptions between sessions,
  • discover endpoints via DiscoveryClient.

Getting started

using Microsoft.Extensions.DependencyInjection;
using Opc.Ua;
using Opc.Ua.Client;

services
    .AddOpcUa()
    .AddClient(opt =>
    {
        opt.ApplicationName = "MyClient";
        opt.ApplicationUri = "urn:localhost:MyClient";
        opt.ProductUri = "uri:example.com:MyClient";
        opt.Session = new ManagedSessionOptions
        {
            Endpoint = endpoint,
        };
    });

// Resolve and connect on first use; the connected ManagedSession is cached:
var sessionFactory =
    provider.GetRequiredService<Func<CancellationToken, Task<ManagedSession>>>();
ManagedSession session = await sessionFactory(ct);

Reverse connect lifecycle

ReverseConnectManager uses an asynchronous, cancellation-aware lifecycle:

await using var manager = new ReverseConnectManager(telemetry);
manager.AddEndpoint(new Uri("opc.tcp://client-host:65300"));
await manager.StartServiceAsync(reverseConnectConfiguration, ct);

ITransportWaitingConnection connection =
    await manager.WaitForConnectionAsync(serverEndpoint, serverUri, ct);

The synchronous StartService, RegisterWaitingConnection, and Dispose methods remain as obsolete compatibility wrappers. New applications should use StartServiceAsync, RegisterWaitingConnectionAsync, and DisposeAsync.

When configured through AddClient(...), a Generic Host starts the singleton manager eagerly through an internal hosted service. Applications using only ServiceCollection get lazy startup from WaitForConnectionAsync or RegisterWaitingConnectionAsync. Register an IReverseConnectConfigurationProvider to asynchronously validate or transform the effective listener configuration before activation.

Target frameworks

net472, net48, netstandard2.1, net8.0, net9.0, net10.0.

Additional documentation

See the main repository README and the Sessions guide for the session / subscription / channel-manager design, the Reverse Connect guide, and the Transfer Subscription guide.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
.NET Framework net472 is compatible.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (67)

Showing the top 5 NuGet packages that depend on OPCFoundation.NetStandard.Opc.Ua.Client:

Package Downloads
OPCFoundation.NetStandard.Opc.Ua

This package contains the OPC UA reference implementation and is targeting the .NET Standard Library.

OPCFoundation.NetStandard.Opc.Ua.Gds.Client.Common

OPC UA GDS Client Class Library

OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes

OPC UA Complex Types Client Class Library

Softing.Opc.Ua.Client

This package contains the OPC UA .NET Standard SDK Client Library from Softing. It is an easy to use API built on top of the OPC UA .NET Standard Stack from OPC Foundation.

ThingsGateway.Plugin.OpcUa

Package Description

GitHub repositories (8)

Showing the top 8 popular GitHub repositories that depend on OPCFoundation.NetStandard.Opc.Ua.Client:

Repository Stars
iioter/iotgateway
An industrial IoTGateway with B/S architecture that enables bidirectional communication between industrial devices (southbound connections) and IoT platforms (northbound connections). It supports numerous industrial protocols, and can connect to various IoT cloud platforms.
dathlin/OpcUaHelper
一个通用的opc ua客户端类库,基于.net 4.6.1创建,基于官方opc ua基金会跨平台库创建,封装了节点读写,批量节点读写,引用读取,特性读取,历史数据读取,方法调用,节点订阅,批量订阅等操作。还提供了一个节点浏览器工具。
Azure/Industrial-IoT
Azure Industrial IoT Platform
RapidScada/scada-v6
Contains Rapid SCADA 6 source code.
parallelbgls/Modbus.Net
A high extensible hardware communication platform using C#
OPCFoundation/UA-.NETStandard-Samples
feng4887/TopoData
TopoData is a C# application, provides PLC/DCS data acquisition , storage and python script capabilities , along with HTTP WebAPI、Mqtt interfaces for data read/write interfaces. Provides flexible recipe definition functionality, allowing users to select different recipes and download parameters to PLCs or devices.
SquareWaveSystems/opcilloscope
Browse and monitor OPC UA servers from your terminal. Lightweight, cross-platform, keyboard and mouse friendly.
Version Downloads Last Updated
2.0.0-preview.2 19 8/24/2026
1.5.378.156 49,954 7/10/2026
1.5.378.152 25,048 6/25/2026
1.5.378.145 77,143 5/21/2026
1.5.378.134 88,657 3/26/2026
1.5.378.106 153,724 1/28/2026
1.5.378.65 55,470 12/18/2025
1.5.378.10-preview 1,307 11/18/2025
1.5.377.22 173,942 11/14/2025
1.5.377.21 200,441 9/22/2025
1.5.377.11-preview 1,094 9/4/2025
1.5.376.244 147,134 7/31/2025
1.5.376.235 118,440 6/26/2025
1.5.376.213 174,629 4/23/2025
1.5.375.457 296,015 2/26/2025
1.5.375.443 138,357 1/31/2025
1.5.374.176 26,496 2/13/2025
1.5.374.168 154,773 1/24/2025
1.5.374.158 231,788 12/4/2024
Loading failed