OPCFoundation.NetStandard.Opc.Ua.Server 2.0.0-preview.3

Prefix Reserved
This is a prerelease version of OPCFoundation.NetStandard.Opc.Ua.Server.
dotnet add package OPCFoundation.NetStandard.Opc.Ua.Server --version 2.0.0-preview.3
                    
NuGet\Install-Package OPCFoundation.NetStandard.Opc.Ua.Server -Version 2.0.0-preview.3
                    
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.Server" Version="2.0.0-preview.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OPCFoundation.NetStandard.Opc.Ua.Server" Version="2.0.0-preview.3" />
                    
Directory.Packages.props
<PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Server" />
                    
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.Server --version 2.0.0-preview.3
                    
#r "nuget: OPCFoundation.NetStandard.Opc.Ua.Server, 2.0.0-preview.3"
                    
#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.Server@2.0.0-preview.3
                    
#: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.Server&version=2.0.0-preview.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=OPCFoundation.NetStandard.Opc.Ua.Server&version=2.0.0-preview.3&prerelease
                    
Install as a Cake Tool

OPC UA .NET Standard — Server

OPCFoundation.NetStandard.Opc.Ua.Server is the high-level OPC UA server library. It contains StandardServer, the MasterNodeManager, the core NodeManager / INodeManager surface, the session manager, the subscription manager (including durable subscriptions), the audit infrastructure, the request queue, and the fluent builder.AddServer(...) DI surface.

Overview

Reference this package from every OPC UA server executable. It provides everything you need to implement a custom server on top of the UASC channel pipeline shipped by OPCFoundation.NetStandard.Opc.Ua.Core.

Getting started

Implement your own NodeManager and register it with StandardServer:

public sealed class MyServer : StandardServer
{
    protected override MasterNodeManager CreateMasterNodeManager(
        IServerInternal server,
        ApplicationConfiguration configuration)
    {
        return new MasterNodeManager(server, configuration, null,
            new MyNodeManager(server, configuration));
    }
}

Then start the server via ApplicationInstance.StartAsync (in the OPCFoundation.NetStandard.Opc.Ua.Configuration package), or host it through the fluent services.AddOpcUa().AddServer(...) DI surface. The raw-socket opc.tcp:// binding is built in; reference the OPCFoundation.NetStandard.Opc.Ua.Bindings.Https package to additionally expose an https:// endpoint.

To expose a NodeSet2 XML document without generating a NodeManager, register it through the startup-time runtime loader:

services.AddOpcUa()
    .AddServer(options => { /* server options */ })
    .AddRuntimeNodeSet(
        "Models/MyModel.NodeSet2.xml",
        nodes => nodes.Variable<double>("Machines/Machine1/Temperature")
            .OnRead(ReadTemperature));

The runtime loader supports grouped file and stream sources, orders included models by RequiredModel, and uses the server's default runtime complex-type support. See the Runtime NodeSets guide.

To add or reload a NodeSet after the server is running, inject INodeManagerLifecycle (or use StandardServer.NodeManagerLifecycle) and call AddRuntimeNodeSetAsync / ReloadRuntimeNodeSetAsync. The returned generation-aware registration can later be removed with RemoveAsync. Active monitored items retain their identity when compatible nodes remain, publish one BadNodeIdUnknown when their node disappears, and automatically recover when a compatible Node with the same NodeId returns. Namespace indexes and compatible runtime DataType registrations remain stable for the server lifetime.

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 model. Browse the documentation folder for guides on certificate management, transports, identity providers, alarms & conditions, historical access, and more.

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 (34)

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

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.Server.Common

OPC UA GDS Server Class Library

Softing.Opc.Ua.Server

This package contains the OPC UA .NET Standard SDK Server 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

HomagGroup.UnifiedCommunication.Toolkit

HOMAG Group Base Communication Component

GitHub repositories (7)

Showing the top 7 popular GitHub repositories that depend on OPCFoundation.NetStandard.Opc.Ua.Server:

Repository Stars
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.
OPCFoundation/UA-.NETStandard-Samples
Azure-Samples/iot-edge-opc-plc
Sample OPC UA server with nodes that generate random and increasing data, anomalies and much more ...
OPCFoundation/UA-ModelCompiler
ModelCompiler converts XML files into C# and ANSI C
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.3 114 8/28/2026
1.5.378.156 38,208 7/10/2026
1.5.378.152 19,051 6/25/2026
1.5.378.145 45,270 5/21/2026
1.5.378.134 73,273 3/26/2026
1.5.378.106 98,216 1/28/2026
1.5.378.65 48,006 12/18/2025
1.5.378.10-preview 836 11/18/2025
1.5.377.22 79,478 11/14/2025
1.5.377.21 156,207 9/22/2025
1.5.377.11-preview 1,070 9/4/2025
1.5.376.244 90,236 7/31/2025
1.5.376.235 74,383 6/26/2025
1.5.376.213 78,146 4/23/2025
1.5.375.457 190,274 2/26/2025
1.5.375.443 123,206 1/31/2025
1.5.374.176 19,754 2/13/2025
1.5.374.168 153,326 1/24/2025
1.5.374.158 162,937 12/4/2024
Loading failed