Create 623552-BCL Higher assembly versions that 4.0.0.0 for System.IO… (#772)

* Create 623552-BCL Higher assembly versions that 4.0.0.0 for System.IO.Compression.ZipFile cannot be loaded without a binding redirect.md

Add a new known issue for .NET Framework 4.7.1.

* Update 623552-BCL Higher assembly versions that 4.0.0.0 for System.IO.Compression.ZipFile cannot be loaded without a binding redirect.md

Update per PR feedback

* Update 623552-BCL Higher assembly versions that 4.0.0.0 for System.IO.Compression.ZipFile cannot be loaded without a binding redirect.md
pull/775/head
Alex Ghiondea 2018-06-06 11:05:40 -07:00 committed by Ron Petrusha
parent 3acb62fd91
commit d7d403a0d6
1 changed files with 36 additions and 0 deletions

View File

@ -0,0 +1,36 @@
# Assembly versions higher than 4.0.0.0 for System.IO.Compression.ZipFile cannot be loaded without a binding redirect
## Symptoms
When building an application that targets .NET Framework 4.7.1, if you reference a .NET Standard 1.x library that uses types from the ZipFile assembly, a runtime error like the following results:
```
Error: Exception: System.IO.FileNotFoundException, Could not load file or assembly 'System.IO.Compression.ZipFile, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.
```
## Cause
The issue is caused by a bug in the runtime unification table for .NET Framework 4.7.1 for this assembly. The bug prevents the unification of the 4.0.3.0 version of the assembly to the 4.0.0.0 version that is present on the machine.
## Impact
This problem occurs when building an application that targets .NET Framework 4.7.1 and consumes .NET Standard-based assets.
## Workaround
To address this problem, you can manually add the following binding redirect in your application's config file:
```xml
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression.ZipFile" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
```
## Resolution
This problem is fixed in [.NET Framework 4.7.2](http://go.microsoft.com/fwlink/?LinkId=863281).