Skip to content

[Feature]: Multi-target the package for .NET 8, .NET 9 and .NET 10 #12

Open

Description

@Doomblaster

Problem / motivation

AzureExtensions.Functions.OpenApi currently targets only net10.0.

This prevents Azure Functions isolated-worker applications targeting .NET 8 or .NET 9 from referencing the package, even though the library's functionality does not appear to inherently require .NET 10.

Supporting these target frameworks would make the package usable by applications that have not yet moved to .NET 10, particularly existing .NET 8 Azure Functions applications.

Proposed solution

Allow the package to be consumed by applications targeting .NET 8 and .NET 9, while retaining support for .NET 10.

If the current implementation and dependencies are compatible with .NET 8, the simplest option may be to target net8.0, since applications targeting newer compatible .NET versions should also be able to consume the package.

Alternatively, the library could explicitly multi-target:

<TargetFrameworks>net8.0;net9.0;net10.0</TargetFrameworks>

if framework-specific builds are required.

CI should verify that the package builds and its tests pass for all frameworks that are explicitly supported.

Alternatives considered

The current alternative is for consuming applications to upgrade to .NET 10 before they can use the package. This is a relatively large requirement for adopting an OpenAPI library and may not be practical for applications that are intentionally remaining on .NET 8.

Another option would be to support only net8.0 rather than multi-targeting. If no framework-specific APIs are required, this may actually be preferable because a net8.0 library can also be consumed by compatible .NET 9 and .NET 10 applications while keeping the package simpler.

Additional context

The package currently declares:

<TargetFramework>net10.0</TargetFramework>

The goal of this request is not specifically to require separate .NET 8, .NET 9, and .NET 10 builds, but to make the package usable from Azure Functions isolated-worker applications targeting those framework versions.

If targeting net8.0 alone provides that compatibility without sacrificing functionality, that would satisfy the request as well.

Activity

  1. added
    enhancementNew feature or request
    squadSquad triage inbox — Lead will assign to a member
    on Sep 22, 2026
  2. github-actions commented on Sep 22, 2026

    @github-actions

    🏗️ Squad Triage — Lead (Lead/Architect)

    Issue: #12 — [Feature]: Multi-target the package for .NET 8, .NET 9 and .NET 10
    Assigned to: Tester (Tester)
    Reason: Issue relates to testing/quality work

    @copilot evaluation: No strong capability match — routed to squad member.

    Team roster:

    • Lead (Lead/Architect) → label: squad:lead
    • Backend (.NET Library Dev) → label: squad:backend
    • Functions (Azure Functions Integration) → label: squad:functions
    • Tester (Tester) → label: squad:tester
    • Ralph (Work Monitor) → label: squad:ralph
    • Rai (RAI Reviewer) → label: squad:rai
    • Fact Checker (Fact Checker) → label: squad:fact-checker
    • @copilot (Coding Agent) → label: squad:copilot

    To reassign, remove the current squad:* label and add the correct one.

  3. github-actions commented on Sep 22, 2026

    @github-actions

    ⚠️ No squad member found matching label squad:fact-checker. Check .squad/team.md for valid member names.

  4. github-actions commented on Sep 22, 2026

    @github-actions

    📋 Assigned to Ralph (Work Monitor)

    Issue: #12 — [Feature]: Multi-target the package for .NET 8, .NET 9 and .NET 10

    Ralph will pick this up in the next Copilot session.

    For Copilot coding agent: If enabled, this issue will be worked automatically.
    Otherwise, start a Copilot session and say:
    Ralph, work on issue #12

  5. removed
    squadSquad triage inbox — Lead will assign to a member
    squad:testerAssigned to Tester (Tester)
    squad:fact-checkerAssigned to Fact Checker (Fact Checker)
    on Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions