Skip to content

Commit

Permalink
Update the issue with the list of types potentially impacted (#538)
Browse files Browse the repository at this point in the history
* Update the issue with the list of types potentially impacted

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md

* Update 510901-BCL Apps targeting .NET-4.6.1 that use .NET Standard libraries might be broken when running on .NET 4.7.1.md
  • Loading branch information
AlexGhiondea authored and Ron Petrusha committed Oct 26, 2017
1 parent d516673 commit 9593dbe
Showing 1 changed file with 39 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,53 @@

## Symptoms

Applications that target the .NET Framework 4.6.1 and use .NET Standard libraries may experience <xref:System.TypeLoadExceptions> exceptions when running on the .NET Framework 4.7.1
Applications that target the .NET Framework 4.6.1 and use .NET Standard libraries may experience System.TypeLoadException exceptions when running on the .NET Framework 4.7.1

## Cause

The .NET Framework 4.7.1 adds support for .NET Standard in-box. As part of this change, a few assemblies that used to ship independently from the .NET Framework have now been added to the .NET Framework. As these .NET Standard assemblies were not part of the .NET Framework prior to .NET 4.7.1, they were deployed with the application, and a binding redirect was added to the application's app.config file.

When running on the .NET Framework 4.7.1, where the assemblies are now part of the Framework, the application now has two types with different identities, and that leads to a <xref:TypeLoadException>. One type comes from the app-local assembly, and the other one comes from the .NET Framework assembly.
When running on the .NET Framework 4.7.1, where the assemblies are now part of the Framework, the application now has two types with different identities, and that leads to a TypeLoadException. One type comes from the app-local assembly, and the other one comes from the .NET Framework assembly.

Also reported here: https://github.com/Microsoft/dotnet-framework-early-access/issues/9

## Impact

The following types are potentially impacted by this issue.

- System.Data.Common.DbColumn
- System.Data.Common.DbDataReaderExtensions
- System.Data.Common.IDbColumnSchemaGenerator
- System.Diagnostics.StackFrameExtensions
- System.Globalization.GlobalizationExtensions
- System.Net.Sockets.SocketReceiveFromResult
- System.Net.Sockets.SocketReceiveMessageFromResult
- System.Net.Sockets.SocketTaskExtensions
- System.Runtime.CompilerServices.TupleElementNamesAttribute
- System.Runtime.InteropServices.Architecture
- System.Runtime.InteropServices.OSPlatform
- System.Runtime.InteropServices.RuntimeInformation
- System.Runtime.Serialization.DataContractSerializerExtensions
- System.Runtime.Serialization.ISerializationSurrogateProvider
- System.Security.Cryptography.ECCurve
- System.Security.Cryptography.ECParameters
- System.Security.Cryptography.ECPoint
- System.Security.Cryptography.IncrementalHash
- System.Security.SecureStringMarshal
- System.StringNormalizationExtensions
- System.Threading.PreAllocatedOverlapped
- System.Threading.ThreadPoolBoundHandle
- System.TupleExtensions
- System.ValueTuple
- System.ValueTuple`1
- System.ValueTuple`2
- System.ValueTuple`3
- System.ValueTuple`4
- System.ValueTuple`5
- System.ValueTuple`6
- System.ValueTuple`7
- System.ValueTuple`8
- System.Xml.XPath.XDocumentExtensions

## Workarounds

Expand Down

0 comments on commit 9593dbe

Please sign in to comment.