Skip to content

Request to multi-target netstandard2.0 and net8.0 to restore netstandard support #33

Description

@shokurov

Is there an existing issue for this?

  • I have searched the existing open and closed issues

Description

Hello,

I noticed that support for netstandard was removed in PR #24 to allow upgrading to the latest Npgsql 9 driver, which dropped netstandard2.0 support.

I understand the motivation to support the latest Npgsql, however, I would like to propose multi-targeting the project to both netstandard2.0 and net8.0. Specifically:

Target netstandard2.0 with a reference to Npgsql 8.x (latest version supporting netstandard)

Target net8.0 with a reference to Npgsql 9.x (latest version overall)

This approach would restore compatibility with .NET Framework and other platforms dependent on netstandard, while allowing usage of .NET 8 with the latest Npgsql features.

Having netstandard support is important for those of us building on older platforms or libraries that depend on netstandard.

Would you consider this approach? I am happy to contribute a PR if there is interest.

What is the impact?

This change would restore support for the netstandard2.0 target in addition to the current net8.0 target by multi-targeting dbup-postgresql. This approach is backward compatible and non-breaking for existing users targeting net8.0 or later, as they can continue using the latest Npgsql 9 version without any change.

Existing users of DbUp 5, targeting netstandard 2.0 or legacy .NET Framework platforms, who lost support due to the net8.0-only shift, would benefit by regaining netstandard compatibility with Npgsql 8. This is a relatively common use case in environments requiring broad platform compatibility, legacy systems, or library creation targeting multiple runtimes.

Overall, it is a non-breaking enhancement that expands compatibility and usage scenarios for dbup-postgresql without affecting current net8.0 users.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions