Skip to content

Add net462 target to GXOData.Client.All for .NET Framework consumers#11

Merged
claudiamurialdo merged 1 commit into
6.0-GXfrom
chore/net462-target-for-odata-client
Jun 1, 2026
Merged

Add net462 target to GXOData.Client.All for .NET Framework consumers#11
claudiamurialdo merged 1 commit into
6.0-GXfrom
chore/net462-target-for-odata-client

Conversation

@claudiamurialdo

Copy link
Copy Markdown
Collaborator

The 6.0-GX line resynced with upstream simple-odata-client, which dropped the net4x target and now ships only net8.0/net7.0/netstandard2.0. As a result, .NET Framework consumers (notably GeneXus-generated KBs built with the legacy v4.0.30319 MSBuild) resolve the netstandard2.0 asset, whose public types (e.g. ODataEntry) live in a netstandard-targeted assembly. Those projects do not pull in the netstandard.dll facade automatically, so the C# compiler cannot resolve System.Object for those types and fails with CS0012, cascading into CS1593 overload-resolution errors against the GXODataClient query delegates.

Re-add a native .NET Framework asset so NuGet/the GeneXus build prefer it over netstandard2.0 on net46x+ projects:

  • GXOData.Client.All.csproj: add net462 to TargetFrameworks, plus a net462-only ItemGroup. net462 lacks types the netstandard2.0 sources assume: reference System.Net.Http (4.3.4, matching DynServiceOData), add System.ValueTuple (4.5.0, in-box only from net47), and import System.Net.Http explicitly since the SDK adds it to ImplicitUsings only for .NET/.NET Standard TFMs, not .NET Framework.
  • GXOData.Client.nuspec: add the net462 dependency group and lib\net462 file entries.
  • Bump AssemblyVersion 6.0.2.0 -> 6.0.3.0 so a new package is published.

Verified: net462 builds clean, the full solution builds, and dotnet pack produces a nupkg containing lib/net462/GXOData.Client.All.dll.

Issue:208663

The 6.0-GX line resynced with upstream simple-odata-client, which dropped
the net4x target and now ships only net8.0/net7.0/netstandard2.0. As a
result, .NET Framework consumers (notably GeneXus-generated KBs built with
the legacy v4.0.30319 MSBuild) resolve the netstandard2.0 asset, whose
public types (e.g. ODataEntry) live in a netstandard-targeted assembly.
Those projects do not pull in the netstandard.dll facade automatically, so
the C# compiler cannot resolve System.Object for those types and fails with
CS0012, cascading into CS1593 overload-resolution errors against the
GXODataClient query delegates.

Re-add a native .NET Framework asset so NuGet/the GeneXus build prefer it
over netstandard2.0 on net46x+ projects:

- GXOData.Client.All.csproj: add net462 to TargetFrameworks, plus a
  net462-only ItemGroup. net462 lacks types the netstandard2.0 sources
  assume: reference System.Net.Http (4.3.4, matching DynServiceOData),
  add System.ValueTuple (4.5.0, in-box only from net47), and import
  System.Net.Http explicitly since the SDK adds it to ImplicitUsings only
  for .NET/.NET Standard TFMs, not .NET Framework.
- GXOData.Client.nuspec: add the net462 dependency group and lib\net462
  file entries.
- Bump AssemblyVersion 6.0.2.0 -> 6.0.3.0 so a new package is published.

Verified: net462 builds clean, the full solution builds, and dotnet pack
produces a nupkg containing lib/net462/GXOData.Client.All.dll.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@claudiamurialdo claudiamurialdo merged commit 51c8d02 into 6.0-GX Jun 1, 2026
1 check passed
@claudiamurialdo claudiamurialdo deleted the chore/net462-target-for-odata-client branch June 1, 2026 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant