adamhathcock / sharpcompress

SharpCompress is a fully managed C# library to deal with many compression types and formats.
MIT License
2.27k stars 481 forks source link

Runtime problems after updating from v0.18.2 to v0.19.0 #330

Closed michalkrzych closed 6 years ago

michalkrzych commented 6 years ago

If you're still using .NET 4.6.1 don't upgrade to SharpCompress version 0.19.0 as it seems to be using System.Buffers which depends on .NET Standard 2.0 libraries (System.Net.Http 4.2.0.0 and System.ValueTuple 0.0.0.0) causing a mismatch between the version of .dlls as .NET 4.6.1 is still using System.Net.Http 4.0.0.0 and System.ValueTuple 4.4.0 (from NuGet).

So I think the backward compatibility of SharpCompress is broken for anyone who doesn't use .Net Standard yet...

tobiasschulz commented 6 years ago

Version 0.19.0 broke my Xamarin app completely. The problem is that System.Buffers.dll is not available on Mono and Xamarin.Android/iOS. This version is completely useless and no longer cross platform.

tobiasschulz commented 6 years ago

System.Buffers should only be referenced in a .net framework and .net core specific dll. The .net standard version can't reference it.

adamhathcock commented 6 years ago

.NET 4.6.1 should be using the .NET Standard 2.0...I'm not sure about the issue there.

As for Mono/Xamarin...I guess it's using the .NET 4.5 version instead of the .NET Standard 1.0 version?

adamhathcock commented 6 years ago

Cross targetting is a nightmare. I should just absorb the arraypool classes in or remove the pooling.

tobiasschulz commented 6 years ago

No Mono using the .net standard version, but that version depends on System.Buffers which is not cross platform.

adamhathcock commented 6 years ago

https://www.nuget.org/packages/sharpcompress/0.19.1