Bug 59304 - Mono's copy of SharpZipLib causes build conflicts
Summary: Mono's copy of SharpZipLib causes build conflicts
Status: CONFIRMED
Alias: None
Product: Class Libraries
Classification: Mono
Component: General (show other bugs)
Version: unspecified
Hardware: PC Windows
: --- normal
Target Milestone: Untriaged
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2017-09-07 18:12 UTC by Mikayla Hutchinson [MSFT]
Modified: 2017-09-11 12:32 UTC (History)
3 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description Mikayla Hutchinson [MSFT] 2017-09-07 18:12:47 UTC
Mono's (outdated and misversioned) copy of SharpZipLib causes build conflicts.

Can we remove it from the reference assembly profiles?

/Library/Frameworks/Mono.framework/Versions/5.0.1/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(5,5): Warning MSB3277: Found conflicts between different versions of the same dependent assembly that could not be resolved. These reference conflicts are listed in the build log when log verbosity is set to detailed. (MSB3277) (Foo)
When I build with verbosity set to details:
There was a conflict between "ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73" and "ICSharpCode.SharpZipLib, Version=4.84.0.0, Culture=neutral, PublicKeyToken=1b03e6acf1164f73". "ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73" was chosen because it was primary and "ICSharpCode.SharpZipLib, Version=4.84.0.0, Culture=neutral, PublicKeyToken=1b03e6acf1164f73" was not. References which depend on "ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73" [/Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/ICSharpCode.SharpZipLib.dll]. /Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/ICSharpCode.SharpZipLib.dll Project file item includes which caused reference "/Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/ICSharpCode.SharpZipLib.dll". ICSharpCode.SharpZipLib References which depend on "ICSharpCode.SharpZipLib, Version=4.84.0.0, Culture=neutral, PublicKeyToken=1b03e6acf1164f73" [/Library/Frameworks/Mono.framework/Versions/5.0.1/lib/mono/4.6.1-api/ICSharpCode.SharpZipLib.dll]. /Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/Mono.Addins.Setup.dll Project file item includes which caused reference "/Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/Mono.Addins.Setup.dll". Mono.Addins.Setup MonoDevelop.Ide MonoDevelop.Core Mono.Addins.Gui /Library/Frameworks/Mono.framework/Versions/5.0.1/lib/mono/gac/monodoc/1.0.0.0_0738eb9f132ed756/monodoc.dll Project file item includes which caused reference "/Library/Frameworks/Mono.framework/Versions/5.0.1/lib/mono/gac/monodoc/1.0.0.0_0738eb9f132ed756/monodoc.dll". MonoDevelop.Ide MonoDevelop.Core /Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/MonoDevelop.Ide.dll Project file item includes which caused reference "/Applications/Visual
Comment 1 Marek Safar 2017-09-11 12:32:32 UTC
I agree but as that's a breaking change it's going to take some time.

I propose following steps

1. Mark all entry types as Obsolete in ICSharpCode.SharpZipLib with the message like "This assembly has been deprecated. Please use https://www.nuget.org/packages/SharpZipLib/ instead" or something like that
2. Remove the assembly from -api folders which is a breaking change and we need to introduce .NET Mono -api folder before we do that so we have a workaround


About the misversioned complain, that's again legacy reason when we supported both .net versions 2 and 4 and to distinguish between them (e.g. for GAC) we bumped the version.

Note You need to log in before you can comment on or make changes to this bug.