We have a Solution targeting .NET Framework 4.8 with over 80 projects in it, and a few projects in this Solution reference a nuget package for DotNetZip. This has now been deprecated:
I would really like to avoid having to rewrite large chunks of code to target a different package. We started off using Ionic.zip. This package was deprecated a good while ago now, but it came with a recommendation "This package is deprecated. Use DotNetZip instead." and we replaced Ionic.Zip with DotNetZip. That was easy. But with the deprecation of DotNetZip all we're getting is "This package version is deprecated", without any recommendation re. what to replace it with.
Now what?
As per the discussion with Joachim Sauer and Anders I note that posting an actual recommendation for any named package would be off topic, so I will limit myself to a generic explanation of how I resolved the problem.
Joachim posted a link to https://github.com/haf/DotNetZip.Semverd which contains the archived code base for DotNetZip. Maybe it could help someone to bring down this code and modify it to suit their own needs. For us it was overkill.
Joachim also suggested writing a wrapper around the native compression software system.io.compression and this may be a useful exercise for some people but Anders pointed out that this would not work if you need to replace DotNetZip with a fully compatible wrapper as system.io.compression does not support passwords, for example.
In the end I investigated our code base and found we use only a very limited subset of zipping functionality from DotNetZip. I also discovered that we use a paid for (and rather expensive) commercial 3rd party toolset that includes a component for handling archives.
So I did write a wrapper around this component that would allow me to replace the original Ionic.Zip calls we employed in various places in our software with calls to our own component that looked similar enough to make the cut&paste job of replacing the code straightforward.
Took me about a day to make sure it was done everywhere in the code where we used to use DotNetZip, and now our code no longer has this dependency.
My apologies if this is not enough information for anyone else who wishes to remove dependencies to DotNetZip