jsakamoto / ipaddressrange

.NET Class Library for range of IP address, both IPv4 and IPv6.
Mozilla Public License 2.0
370 stars 71 forks source link

Some considerations about strong naming #36

Closed msmolka closed 6 years ago

msmolka commented 6 years ago

Hello Currently there are 2 packages, one strong named, and other not. This is causing issues when using different dependencies that uses this library. A lot of discussions here:

https://github.com/aspnet/DataProtection/issues/245#issuecomment-307155485 https://github.com/StackExchange/StackExchange.Redis/issues/528 https://github.com/HangfireIO/Hangfire/issues/1076

msmolka commented 6 years ago

As a comment, shouldn’t, be .snk file part repository as well, like StackExchange.Redis does?

jsakamoto commented 6 years ago

Thank you for creating this issue.

I'll consider to combine "IPAddressRaneg" and "IPAddressRange.Signed" packages.

My plan is:

  1. Make "IPAddressRange" to be strong named with .nsk key same as "IPAddressRange.Signed" dose.
  2. Make "IPAddressRange.Signed" to be meta package that point to new version of "IPAddressRanged" package.

Is it good idea?

msmolka commented 6 years ago

Yes, I think so, You can also be a bit more drastic, dump new Major version, make it strong named, and dump IPAddressRange.Signed Strong name is not living long in this project. It will be easier to maintain Major change allows breaking changes. In the future it will cause less issues.

jsakamoto commented 6 years ago

I'm investigating about this issue now.

Due to I read this article,

https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/strong-name-signing.md

I'm considering about I should add .snk file into this repository or not.

And also, I read this article that was posted at 2 years ago,

Still Strong-Naming your Assemblies? You do know it’s 2016, right?

but I'll strong name this library, because Windows Phone is already gone, and I feel there are no problem.

msmolka commented 6 years ago

You should add snk file. Look at e.g. Stackexchange.Redis. It is there. That was the idea, about dropping strong naming, but because of other greater issues it was bring back. Read links I put above. There are also references in discussions about strong naming and why MS team decided to bring it back.

jsakamoto commented 6 years ago

I published new packages as beta version.

I plan to publish an official release package in a few days.

jsakamoto commented 6 years ago

I released official ver.3.0.0 as NuGet packages.

🎉