SharpZipLib icon indicating copy to clipboard operation
SharpZipLib copied to clipboard

Suggestion: Include .dll file in github release downloads

Open Matsyir opened this issue 3 years ago • 3 comments

Steps to reproduce

  1. Be unfamiliar with importing 3rd party libraries in C#
  2. Be using Unity or some other framework that requires a .dll file for libraries, and cannot directly import a NuGet package or resolve all dependencies from the source code
  3. Be extremely confused at where the .dll file for this library is located, not realizing it's generated by the NuGet package/included within it
  4. Waste time trying to get through various build errors while trying to directly compile the .dll myself from the project source
  5. With enough googling, finally realize I can just get the .dll by building a project that has the NuGet package installed, so create a new project, import SharpZipLib via NuGet, compile project & finally retrieve the .dll file from /bin/Release

Expected behavior

It would be convenient to have a direct download to the library's compiled .dll for users who only need the .dll

Actual behavior

Users who only need a .dll file and do not fully understand how NuGet packages are formed or how .dll's are generated may end up very confused and frustrated when trying to import this library

Version of SharpZipLib

1.3.3 (or any future versions)

Obtained from

  • Package installed using NuGet

Sorry, I hope you don't take passive aggressiveness in the first part too seriously. I'm sure you can see how this was frustrating for me 😅. Now at least, I'll never forget how to retrieve a compiled .dll out of a NuGet package. This suggestion is more so that other newbies don't fall into this same pointless rabbit hole I did...

If there is a reason it's not included, sorry about the "spam" but I'd also be curious to know why not.

Matsyir avatar Feb 09 '22 20:02 Matsyir

The .nupkg is present for every release, and it's just a .zip file containing the .dll.

Also, there is a unity UPM package available on openupm.

piksel avatar Feb 09 '22 21:02 piksel

That's fair. At this point I know that, the suggestion was more to prevent future new/unfamiliar users going through the same trouble I did.

I ended up writing a massive rant here but it's really not relevant to you nor is it your fault. It could be condensed to this: I can't get over how undocumented this "NuGet package = .zip file that contains a .dll" functionality is. Took me over 2 painful hours of searching to figure that out and successfully install the library today.

Was not aware of openupm, thanks for the reference. I also can't believe I haven't come across openupm when I was searching for this.

Matsyir avatar Feb 09 '22 21:02 Matsyir

Yeah, it's a bit odd that unity has no support for nuget packages, since that is generally how all .NET libraries are distributed. There should probably be a note for unity users informing about the OpenUPM package in the repo README. Getting the .dll from the .nupkg files is more of a generic "trick" for all nuget packages and requires you to know what runtime you are using, so it's not the recommended method...

piksel avatar Feb 10 '22 15:02 piksel