OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes
2.0.0-preview.2
Prefix Reserved
dotnet add package OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes --version 2.0.0-preview.2
NuGet\Install-Package OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes -Version 2.0.0-preview.2
<PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes" Version="2.0.0-preview.2" />
<PackageVersion Include="OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes" Version="2.0.0-preview.2" />
<PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes" />
paket add OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes --version 2.0.0-preview.2
#r "nuget: OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes, 2.0.0-preview.2"
#:package OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes@2.0.0-preview.2
#addin nuget:?package=OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes&version=2.0.0-preview.2&prerelease
#tool nuget:?package=OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes&version=2.0.0-preview.2&prerelease
OPC UA .NET Standard — Client.ComplexTypes (legacy reflection-emit loader)
OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes is the legacy
reflection-emit complex-type and data-type loader. It walks a
server's DataTypeSystem, fetches the missing DataType definitions,
generates runtime types using System.Reflection.Emit, and registers
them with the IServiceMessageContext so the encoders / decoders can
round-trip server-defined Structures, Optionals, Unions, and
Enumerations.
When to use this package
Most consumers do not need this package. The
OPCFoundation.NetStandard.Opc.Ua.Clientpackage ships a NativeAOT-friendly complex-type loader that does not requireSystem.Reflection.Emit— it builds the runtimeStructureDefinition/EnumDefinitiongraphs directly. Prefer that path for any new application, and especially for trimmed / NativeAOT deployments where reflection-emit is unavailable.
Reference Opc.Ua.Client.ComplexTypes only when:
- You have a 1.5.378-era codebase that relied on the
ComplexTypeSystemreflection-emit API and you are not ready to migrate, or - You explicitly need to reflect over the runtime-generated CLR types
(e.g. you bind them into a UI grid, serialize them through a
third-party reflection-based serializer, or use them with
System.Linq.Expressions).
For straight-through encode / decode of server-defined complex types
no consumer-side reflection is required — use Opc.Ua.Client.
Getting started
using Opc.Ua.Client;
using Opc.Ua.Client.ComplexTypes;
var loader = new ComplexTypeSystem(session);
await loader.LoadAsync();
// session.MessageContext.Factory now resolves the server's custom types
// as reflection-emit-generated CLR types.
Target frameworks
net472, net48, netstandard2.1, net8.0, net9.0, net10.0.
The package is not NativeAOT-compatible because the runtime type
emission depends on System.Reflection.Emit.
Additional documentation
See the main repository README
and the Complex Types guide
for the full design (legacy reflection-emit loader vs. the
NativeAOT-friendly loader in Opc.Ua.Client).
| 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.Client (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core (>= 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.Client (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core (>= 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.Client (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core (>= 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.Client (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core (>= 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.Client (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core (>= 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.Client (>= 2.0.0-preview.2)
- OPCFoundation.NetStandard.Opc.Ua.Core (>= 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 (17)
Showing the top 5 NuGet packages that depend on OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes:
| Package | Downloads |
|---|---|
|
ThingsGateway.Foundation.OpcUa
工业设备通讯协议-OpcUa协议 |
|
|
ThingsGateway.Plugin.OpcUa
Package Description |
|
|
ThingsGateway.Foundation.Adapter.OPCUA
ThingsGateway.Foundation是工业设备通讯类库,归属于ThingsGateway边缘网关项目,说明文档:https://diego2098.gitee.io/thingsgateway-docs/ |
|
|
ThingsGatewayRuntime.Foundation
Package Description |
|
|
Opc.Ua.Expressions
Read, write and subscribe to OPC UA nodes using expressions. Transaction for multiple write actions using expressions; |
GitHub repositories (3)
Showing the top 3 popular GitHub repositories that depend on OPCFoundation.NetStandard.Opc.Ua.Client.ComplexTypes:
| Repository | Stars |
|---|---|
|
Azure/Industrial-IoT
Azure Industrial IoT Platform
|
|
|
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 ...
|
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0-preview.2 | 20 | 8/24/2026 |
| 1.5.378.156 | 11,410 | 7/10/2026 |
| 1.5.378.152 | 2,835 | 6/25/2026 |
| 1.5.378.145 | 14,416 | 5/21/2026 |
| 1.5.378.134 | 14,555 | 3/26/2026 |
| 1.5.378.106 | 39,578 | 1/28/2026 |
| 1.5.378.65 | 5,059 | 12/18/2025 |
| 1.5.378.10-preview | 510 | 11/18/2025 |
| 1.5.377.22 | 17,737 | 11/14/2025 |
| 1.5.377.21 | 78,268 | 9/22/2025 |
| 1.5.377.11-preview | 476 | 9/4/2025 |
| 1.5.376.244 | 23,494 | 7/31/2025 |
| 1.5.376.235 | 12,591 | 6/26/2025 |
| 1.5.376.213 | 13,712 | 4/23/2025 |
| 1.5.375.457 | 32,460 | 2/26/2025 |
| 1.5.375.443 | 6,716 | 1/31/2025 |
| 1.5.374.176 | 3,778 | 2/13/2025 |
| 1.5.374.168 | 67,004 | 1/24/2025 |
| 1.5.374.158 | 40,608 | 12/4/2024 |