alanmcgovern / Mono.Nat

UPNP and NAT-PMP port forwarding for .NET
https://github.com/mono/Mono.Nat
MIT License
160 stars 155 forks source link

Multi-targeting fork #40

Open JeremyAnsel opened 3 months ago

JeremyAnsel commented 3 months ago

Hello, Thank you for this project.

I've created a fork named SharpOpenNat for multi-targeting .Net 8.0, .Net 6.0, .Net 4.8, and .Net Standard 2.0.

alanmcgovern commented 1 week ago

Why not just submit a PR which adds the additional frameworks?

Resubmitting the same code to nuget under multiple different packages is more confusing for everyone :)

I'd be happy to accept PRs and release a new version of you'd like! Also, are there any features from newer frameworks which you want to use? If not, what's the benefit you're hoping to get from targeting the additional frameworks?

alanmcgovern commented 1 week ago

I saw you configured the csproj to use langvesrion 11 even though you're targeting netstandard 2.0. This can produce binaries that don't load under frameworks older than .NET Core 3.0 (i.e. the desktop 4.7.2 / 4.8 framework).

https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-versioning

C# 12 is supported only on .NET 8 and newer versions. C# 11 is supported only on .NET 7 and newer versions. C# 10 is supported only on .NET 6 and newer versions.

Technically C# 8 is not fully supported under netstandard 2.0, but as long as you don't use default interface implementations then everything else Just Works.