mirror of
https://github.com/OPCFoundation/UA-.NETStandard.git
synced 2026-10-21 17:16:16 +08:00
82347dc1da
- Move all channel-related types into `Stack/Opc.Ua.Core/Stack/Client/Channels/` subfolder (#13). - Un-obsolete `SessionReconnectHandler` and the SessionExtensions `ReconnectAsync(connection, ct)` / `(channel, ct)` extensions; remove all SRH-related `#pragma warning disable CS0618` suppressions from applications and tests. AttachChannel/DetachChannel remain obsolete (#1, #4). - Remove the shared-budget section from MigrationGuide.md (#3). - Mark `ManagedSession.AttachChannel`/`DetachChannel` `[Obsolete]` so the warning surfaces all the way up the supported API surface (#9). - Break the `<see cref=…>` line in `Session.ChannelManager.cs` to stay under 140 chars (#10). - Move `ChannelManagerSessionFactory` from `Opc.Ua.Gds.Client.Common` into `Opc.Ua.Client` as a public, documented session-factory option (#11). - Audit other client classes for `IClientChannelManager`-aware overloads; add `ISessionFactory`-accepting overloads on `GlobalDiscoveryServerClient`, `LocalDiscoveryServerClient`, `ServerPushConfigurationClient` so any session factory (including `ChannelManagerSessionFactory`) works (#12). - Refactor MCP server (`OpcUaSessionManager`, `Program`) to use `ManagedSession` + DI-resolved `IClientChannelManager`; remove `SessionReconnectHandler` and manual keep-alive reconnect (#2). - ConnectionStateMachine code-style fixes: use named delegate types, collapse multi-line callback properties to single lines, swap `timeProvider`/`maxTotalReconnectTime` constructor param order, fix multi-line declaration (#6, #7, #8). - HTTPS resilience: confirmed `Microsoft.Extensions.Http` and `Microsoft.Extensions.Http.Resilience` 10.6.0 support `net472`/`net48`/`netstandard2.1`; removed `#if NET8_0_OR_GREATER` gating from `ManagedSessionBuilder` and `OpcUaClientBuilderExtensions` and HTTPS csproj package refs (#5). Verification: - `Opc.Ua.Client` + `Opc.Ua.Core` + `Opc.Ua.Gds.Client.Common` build clean (0 warnings, 0 errors). - 56/56 core channel-manager / retry-budget / HTTPS factory tests pass. - 129/129 client (ManagedSession + legacy SRH back-compat + SessionExtensions) tests pass.
62 lines
3.1 KiB
XML
62 lines
3.1 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<AssemblyName>$(AssemblyPrefix).Client</AssemblyName>
|
|
<TargetFrameworks>$(LibTargetFrameworks)</TargetFrameworks>
|
|
<PackageId>$(PackagePrefix).Opc.Ua.Client</PackageId>
|
|
<RootNamespace>Opc.Ua.Client</RootNamespace>
|
|
<Description>OPC UA Client Class Library</Description>
|
|
<IsPackable>true</IsPackable>
|
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
|
<Nullable>enable</Nullable>
|
|
<DefineConstants>$(DefineConstants);OPCUA_V1_CLIENT</DefineConstants>
|
|
<IsAotCompatible Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net10.0'))">true</IsAotCompatible>
|
|
<EnableConfigurationBindingGenerator>true</EnableConfigurationBindingGenerator>
|
|
<!--
|
|
SYSLIB1100/1101: the configuration binding source generator emits informational
|
|
diagnostics for properties whose type is an interface or non-default-constructible
|
|
class (e.g. ApplicationConfiguration, IUserIdentity, ISubscriptionEngineFactory).
|
|
Those properties are runtime-only and never bound from IConfiguration; the binder
|
|
silently skips them, which is the desired behavior.
|
|
-->
|
|
<NoWarn>$(NoWarn);SYSLIB1100;SYSLIB1101</NoWarn>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(TargetFramework)' == 'net472' OR '$(TargetFramework)' == 'net48'">
|
|
<!--
|
|
Microsoft.Extensions.Http.Resilience provides net462 assets for the .NET Framework builds,
|
|
but its buildTransitive support target warns that these TFMs are untested. TODO: remove this
|
|
suppression when the library matrix drops .NET Framework or the package stops warning.
|
|
-->
|
|
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<InternalsVisibleTo Include="Opc.Ua.Client.Tests" />
|
|
<InternalsVisibleTo Include="Opc.Ua.Client.ComplexTypes.Tests" />
|
|
<InternalsVisibleTo Include="Opc.Ua.Client.TestFramework" />
|
|
<InternalsVisibleTo Include="Opc.Ua.Core.Tests" />
|
|
<InternalsVisibleTo Include="Opc.Ua.Session.Tests" />
|
|
<InternalsVisibleTo Include="Opc.Ua.Sessions.Tests" />
|
|
<InternalsVisibleTo Include="Opc.Ua.Subscriptions.Tests" />
|
|
<InternalsVisibleTo Include="Opc.Ua.Subscriptions.Classic.Tests" />
|
|
<InternalsVisibleTo Include="Opc.Ua.Subscriptions.Durable.Tests" />
|
|
<InternalsVisibleTo Include="Opc.Ua.Features.Tests" />
|
|
<InternalsVisibleTo Include="Opc.Ua.Stress.Tests" />
|
|
</ItemGroup>
|
|
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
|
|
<PackageId>$(PackageId).Debug</PackageId>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<PackageReference Include="Microsoft.Extensions.Http.Resilience" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\Stack\Opc.Ua.Core\Opc.Ua.Core.csproj" />
|
|
<ProjectReference Include="..\Opc.Ua.Configuration\Opc.Ua.Configuration.csproj" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\Tools\Opc.Ua.SourceGeneration\Opc.Ua.SourceGeneration.csproj">
|
|
<OutputItemType>Analyzer</OutputItemType>
|
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
|
</ProjectReference>
|
|
</ItemGroup>
|
|
<Target Name="GetPackagingOutputs" />
|
|
</Project>
|