mheyman / Isopoh.Cryptography.Argon2

Fully managed .Net Core implementation of Argon2
Other
196 stars 9 forks source link

Update dependencies for target `net6.0` #43

Closed Eagle3386 closed 2 years ago

Eagle3386 commented 2 years ago

Hey, @mheyman!

I just found your repo & tried to install it into my .NET 6-based project. However, your dependencies for target net6.0 explicitly list System.Thread, System.ThreadPool & System.ValueTuple, yet that very target already includes them on its own.

Would you therefore mind updating your dependencies regarding that platform? I'd happily provide you with a PR, but couldn't find the required .nuspec file in your repo...

mheyman commented 2 years ago

Doh! those were unused package references that I left in there unknowingly. I know how frustrating that kind of fail can be to come across. 1.1.12 uploaded with no unused package references. :wink:

Oh, and there is no .nuspec, just the .csproj files

Eagle3386 commented 2 years ago

@mheyman thanks a lot for such a blazing fast update! 👏🏻💪🏻❤️‍🔥

Though, I discovered that other dependencies got downgraded by your updated NuGet package:

Microsoft.NETCore.Platforms.1.1.1 -> Microsoft.NETCore.Platforms.1.1.0
Microsoft.NETCore.Targets.1.1.3   -> Microsoft.NETCore.Targets.1.1.0
System.Memory.4.5.4               -> System.Memory.4.5.3
System.Runtime.4.3.1              -> System.Runtime.4.3.0
System.Runtime.Extensions.4.3.1   -> System.Runtime.Extensions.4.3.0

If that was on purpose, would you mind explaining me the reasons behind that decision?

mheyman commented 2 years ago

Well, I'm not sure if this is a regression or not.

I'll tell you what I did. I ran "remove unused references" in Visual Studio on all the projects. It got rid of System.Memory, System.Runtime, and System.Runtime.Extensions. These now get pulled in from the actual dependency of netstandard2.0. I don't know what pulls in Microsoft.NETCore... (at least with my quick 5-minute hunt through the solution).

Obviously, the code works with the older dependencies or the newer ones if you want to explicitly pull them in with your project.