OPCFoundation.NetStandard.Opc.Ua.Client
2.0.0-preview.2
Prefix Reserved
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
<PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Client" Version="2.0.0-preview.2" />
<PackageVersion Include="OPCFoundation.NetStandard.Opc.Ua.Client" Version="2.0.0-preview.2" />
<PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Client" />
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"
#:package OPCFoundation.NetStandard.Opc.Ua.Client@2.0.0-preview.2
#addin nuget:?package=OPCFoundation.NetStandard.Opc.Ua.Client&version=2.0.0-preview.2&prerelease
#tool nuget:?package=OPCFoundation.NetStandard.Opc.Ua.Client&version=2.0.0-preview.2&prerelease
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 | Versions 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. |
-
.NETFramework 4.7.2
- BitFaster.Caching (>= 2.6.0)
- BouncyCastle.Cryptography (>= 2.7.0)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.10)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.TimeProvider (>= 10.0.10)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Diagnostics (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Http (>= 10.0.10)
- Microsoft.Extensions.Http.Resilience (>= 10.8.0)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- OPCFoundation.NetStandard.Opc.Ua.Configuration (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core.Schema (>= 2.0.0-preview.2)
- System.Buffers (>= 4.6.1)
- System.Collections.Immutable (>= 9.0.0)
- System.Diagnostics.DiagnosticSource (>= 10.0.10)
- System.Formats.Asn1 (>= 10.0.10)
- System.Memory (>= 4.6.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
- System.Text.Json (>= 10.0.10)
- System.Threading.Channels (>= 10.0.10)
- System.Threading.RateLimiting (>= 10.0.10)
- System.Threading.Tasks.Extensions (>= 4.6.3)
-
.NETFramework 4.8
- BitFaster.Caching (>= 2.6.0)
- BouncyCastle.Cryptography (>= 2.7.0)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.10)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.TimeProvider (>= 10.0.10)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Diagnostics (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Http (>= 10.0.10)
- Microsoft.Extensions.Http.Resilience (>= 10.8.0)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- OPCFoundation.NetStandard.Opc.Ua.Configuration (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core.Schema (>= 2.0.0-preview.2)
- System.Buffers (>= 4.6.1)
- System.Collections.Immutable (>= 9.0.0)
- System.Diagnostics.DiagnosticSource (>= 10.0.10)
- System.Formats.Asn1 (>= 10.0.10)
- System.Memory (>= 4.6.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
- System.Text.Json (>= 10.0.10)
- System.Threading.Channels (>= 10.0.10)
- System.Threading.RateLimiting (>= 10.0.10)
- System.Threading.Tasks.Extensions (>= 4.6.3)
-
.NETStandard 2.1
- BitFaster.Caching (>= 2.6.0)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.10)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.TimeProvider (>= 10.0.10)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Diagnostics (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Http (>= 10.0.10)
- Microsoft.Extensions.Http.Resilience (>= 10.8.0)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- OPCFoundation.NetStandard.Opc.Ua.Configuration (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core.Schema (>= 2.0.0-preview.2)
- System.Collections.Immutable (>= 9.0.0)
- System.Diagnostics.DiagnosticSource (>= 10.0.10)
- System.Formats.Asn1 (>= 10.0.10)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
- System.Text.Json (>= 10.0.10)
- System.Threading.Channels (>= 10.0.10)
- System.Threading.RateLimiting (>= 10.0.10)
-
net10.0
- BitFaster.Caching (>= 2.6.0)
- Microsoft.Bcl.TimeProvider (>= 10.0.10)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Diagnostics (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Http (>= 10.0.10)
- Microsoft.Extensions.Http.Resilience (>= 10.8.0)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- OPCFoundation.NetStandard.Opc.Ua.Configuration (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core.Schema (>= 2.0.0-preview.2)
- System.Threading.RateLimiting (>= 10.0.10)
-
net8.0
- BitFaster.Caching (>= 2.6.0)
- Microsoft.Bcl.TimeProvider (>= 10.0.10)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Diagnostics (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Http (>= 10.0.10)
- Microsoft.Extensions.Http.Resilience (>= 10.8.0)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- OPCFoundation.NetStandard.Opc.Ua.Configuration (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core.Schema (>= 2.0.0-preview.2)
- System.Collections.Immutable (>= 9.0.0)
- System.Diagnostics.DiagnosticSource (>= 10.0.10)
- System.Formats.Asn1 (>= 10.0.10)
- System.Text.Json (>= 10.0.10)
- System.Threading.Channels (>= 10.0.10)
- System.Threading.RateLimiting (>= 10.0.10)
-
net9.0
- BitFaster.Caching (>= 2.6.0)
- Microsoft.Bcl.TimeProvider (>= 10.0.10)
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Diagnostics (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Http (>= 10.0.10)
- Microsoft.Extensions.Http.Resilience (>= 10.8.0)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- OPCFoundation.NetStandard.Opc.Ua.Configuration (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core.Schema (>= 2.0.0-preview.2)
- System.Diagnostics.DiagnosticSource (>= 10.0.10)
- System.Formats.Asn1 (>= 10.0.10)
- System.Text.Json (>= 10.0.10)
- System.Threading.Channels (>= 10.0.10)
- System.Threading.RateLimiting (>= 10.0.10)
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 |