OpcUaXE.Client
1.0.0
dotnet add package OpcUaXE.Client --version 1.0.0
NuGet\Install-Package OpcUaXE.Client -Version 1.0.0
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="OpcUaXE.Client" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OpcUaXE.Client" Version="1.0.0" />
<PackageReference Include="OpcUaXE.Client" />
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 OpcUaXE.Client --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: OpcUaXE.Client, 1.0.0"
#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 OpcUaXE.Client@1.0.0
#: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=OpcUaXE.Client&version=1.0.0
#tool nuget:?package=OpcUaXE.Client&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
OpcUaXE.Client
.NET OPC UA client library with clean high-level API. No OPC UA SDK types in the public surface.
Targets: .NET 8 / .NET 10
Features
- Connect by IP/port or endpoint (auto-discovery, security-level selection)
- Service mode with keep-alive and auto-reconnect
- Browse, Read, Write (single & batch, type coercion)
- Subscriptions (monitored items with configurable intervals)
- Alarms & Conditions (mapped event data, no SDK types)
- Certificate validation via events
Quick Start
using OpcUaXE.Client;
await using var client = new XeClient();
client.StateChanged += (_, s) => Console.WriteLine($"State: {s}");
client.CertificateValidationRequested += (_, e) => e.AcceptPermanently = true;
await client.ConnectAsync("192.168.1.100", 4840, new XeClientOptions
{
ClientName = "MyApp"
});
// Read
var result = await client.ReadValueAsync("ns=2;s=MyVariable");
Console.WriteLine($"{result.Address}: {result.Value}");
// Write
await client.WriteValueAsync("ns=2;s=MyVariable", 42);
// Browse
var children = await client.BrowseAsync("i=84");
await client.DisconnectAsync();
Service Mode (Auto-Reconnect)
await using var client = new XeClient();
client.MonitoredItemValuesReceived += (_, items) =>
{
foreach (var item in items) Console.WriteLine(item);
};
await client.StartServiceAsync("192.168.1.100", options: new XeClientOptions
{
AutoReconnectDelay = TimeSpan.FromSeconds(5)
});
client.AddMonitoredItem("ns=2;s=MyVariable", samplingInterval: 100, publishInterval: 1000);
Console.ReadKey();
await client.StopServiceAsync();
XeClientOptions
| Property | Default | Description |
|---|---|---|
ClientName |
"OpcUaXEClient" |
Session name |
UserName / Password |
"" |
Credentials (empty = anonymous) |
KeepAliveTimeout |
30s |
Keep-alive watchdog (Zero = off) |
AutoReconnectDelay |
5s |
Reconnect delay in service mode (Zero = off) |
AlarmsAndConditionsEnable |
true |
Enable A&C subscription |
AlarmsAndConditionsNodeId |
"i=2253" |
Event-notifier node |
PreferredLocales |
null |
BCP-47 locales, e.g. ["de", "en-US"] |
Events
| Event | Description |
|---|---|
ServiceMessage |
Informational messages |
ServiceException |
Internal exceptions |
StateChanged |
Connection state changes |
CertificateValidationRequested |
Accept/reject server certificate |
KeepAliveReceived |
Keep-alive tick |
MonitoredItemValuesReceived |
New values for monitored items |
AlarmAndConditionEventReceived |
A&C event data |
License
See LICENSE.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- OPCFoundation.NetStandard.Opc.Ua.Client (>= 1.5.378.134)
- OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes (>= 1.5.378.134)
-
net8.0
- OPCFoundation.NetStandard.Opc.Ua.Client (>= 1.5.378.134)
- OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes (>= 1.5.378.134)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 114 | 4/13/2026 |