Skip to content

[Repo Assist] eng: add net8.0 target to FSharp.Data.Html.Core, .Http, and .WorldBank.Core#1765

Draft
github-actions[bot] wants to merge 2 commits intomainfrom
repo-assist/eng-multitarget-2026-04-27-clean-fb9565af512798fb
Draft

[Repo Assist] eng: add net8.0 target to FSharp.Data.Html.Core, .Http, and .WorldBank.Core#1765
github-actions[bot] wants to merge 2 commits intomainfrom
repo-assist/eng-multitarget-2026-04-27-clean-fb9565af512798fb

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

🤖 This is an automated pull request from Repo Assist, an AI assistant for this repository.

Three source packages were inconsistently targeting only netstandard2.0 while the rest of the package set targets netstandard2.0;net8.0.

Root Cause

The following packages had <TargetFramework>netstandard2.0</TargetFramework> (singular) instead of <TargetFrameworks>netstandard2.0;net8.0</TargetFrameworks> (plural):

Package Before After
FSharp.Data.Html.Core netstandard2.0 netstandard2.0;net8.0
FSharp.Data.Http netstandard2.0 netstandard2.0;net8.0
FSharp.Data.WorldBank.Core netstandard2.0 netstandard2.0;net8.0

All other packages (FSharp.Data, FSharp.Data.Csv.Core, FSharp.Data.Json.Core, FSharp.Data.Xml.Core, FSharp.Data.Runtime.Utilities, FSharp.Data.DesignTime) already target netstandard2.0;net8.0.

Why This Matters

  1. Fixes pre-existing NETSDK1212 warnings: The existing <IsTrimmable>true</IsTrimmable> flag is only valid for net6.0+ targets. Building these packages with only netstandard2.0 generates:

    warning NETSDK1212: IsTrimmable and EnableTrimAnalyzer are not supported for the target framework.
    

    Adding net8.0 makes trim analysis work correctly.

  2. Provides a dedicated net8.0 DLL for consumers on .NET 8+, enabling future net8.0-specific optimisations (e.g., System.Net.Http native APIs in FSharp.Data.Http).

  3. Makes the package set consistent — all published packages now target the same set of frameworks.

Changes

  • src/FSharp.Data.Html.Core/FSharp.Data.Html.Core.fsprojTargetFrameworkTargetFrameworks
  • src/FSharp.Data.Http/FSharp.Data.Http.fsprojTargetFrameworkTargetFrameworks
  • src/FSharp.Data.WorldBank.Core/FSharp.Data.WorldBank.Core.fsprojTargetFrameworkTargetFrameworks

No source code changes.

Test Status

  • dotnet build src/FSharp.Data.Html.Core/ — succeeded, 0 warnings (was 1× NETSDK1212)
  • dotnet build src/FSharp.Data.Http/ — succeeded, 0 warnings
  • dotnet build src/FSharp.Data.WorldBank.Core/ — succeeded (1 pre-existing FS0044 for Uri.EscapeUriString, unrelated to this change)
  • dotnet test tests/FSharp.Data.Core.Tests/ --filter "HtmlParser|HtmlOperations|WorldBankRuntime|Http"245 passed, 0 failed
  • ⚠️ Full build on main fails with pre-existing NU1902 (OpenTelemetry.Api 1.15.0 vulnerability, addressed separately in PR [Repo Assist] eng: fix OpenTelemetry.Api GHSA-g94r-2vxg-569j by pinning >= 1.15.1 and updating GitHubActionsTestLogger to 3.0.3 #1762)

Generated by 🌈 Repo Assist, see workflow run. Learn more.

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/repo-assist.md@96b9d4c39aa22359c0b38265927eadb31dcf4e2a

Generated by 🌈 Repo Assist, see workflow run. Learn more.

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/repo-assist.md@96b9d4c39aa22359c0b38265927eadb31dcf4e2a

…k.Core

Three source packages were inconsistently targeting only netstandard2.0
while the rest of the package set targets netstandard2.0;net8.0:

  Before (single-target):
    FSharp.Data.Html.Core    → netstandard2.0
    FSharp.Data.Http         → netstandard2.0
    FSharp.Data.WorldBank.Core → netstandard2.0

  After (multi-target, consistent with other packages):
    FSharp.Data.Html.Core    → netstandard2.0;net8.0
    FSharp.Data.Http         → netstandard2.0;net8.0
    FSharp.Data.WorldBank.Core → netstandard2.0;net8.0

Benefits:
- Fixes pre-existing NETSDK1212 warnings: the existing
  <IsTrimmable>true</IsTrimmable> flag requires a net6.0+
  TFM to be valid; adding net8.0 makes trim analysis work
  correctly for these packages.
- Provides a dedicated net8.0 DLL for consumers on .NET 8+,
  enabling future net8.0-specific optimisations.
- Makes the package set consistent.

All affected tests pass (245 passed, 0 failed).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants