Skip to content

Commit

Permalink
Adding known issue about 12 shims when targeting 4.7.1 (microsoft#677)
Browse files Browse the repository at this point in the history
* Adding known issue about 12 shims when targeting 4.7.1

* PR Feedback

* PR Feedback

* PR Feedback

* Feedback
  • Loading branch information
joperezr authored and Ron Petrusha committed Mar 27, 2018
1 parent f7b41db commit 7f1dd6e
Showing 2 changed files with 25 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Targeting .NET Framework 4.7.1 copies extra files to your bin directory

## Symptoms

When building an application that targets .NET Framework 4.7.1, Visual Studio 15.6.3 tools copy 12 assemblies into your bin directory if it consumes one or more .NET Standard-based components.
This results in the bin output of your application being larger and including more files.

## Cause

.NET types live in different assemblies depending on the .NET implementation you are running in. A simple example is the String class, which lives in mscorlib.dll on .NET Framework, in netstandard.dll when you target .NET Standard 2.0, and in System.Runtime.dll when you target .NET Standard 1.x. For a library targeting one .NET implementation to load successfully when running on a compatible one, runtime facades (with type-forwards) are ordinarily used to reroute the references to the all of the types that live in different places.

.NET Framework 4.7.1 intended to have full support for running .NET Standard 2.0 assets, but we found some bugs on 12 assemblies that would cause some types to not get forwarded correctly. Patching those 12 assemblies is not viable since then the applications would require the patch to be installed on end-user machines in order to function correctly.

## Impact

This problem occurs when building an application that targets .NET Framework 4.7.1 and consumes .NET Standard-based assets.

## Workaround

There is no way to remove the extra assemblies in your bin directory when targeting .NET Framework 4.7.1. The only workaround is to recompile your app to target the .NET Framework 4.7.2 or later, where this issue has been addressed.

## Resolution

This problem is fixed in [.NET Framework 4.7.2](http://go.microsoft.com/fwlink/?LinkId=863281).
1 change: 1 addition & 0 deletions releases/net471/dotnet471-known-issues.md
Original file line number Diff line number Diff line change
@@ -14,5 +14,6 @@ This document lists the known issues that you may experience after you install t
- [517815 - BCL - Applications making heavy use of System.Diagnostics.StackTrace or Exception.StackTrace might run more slowly on the .NET Framework 4.7.1](https://github.com/Microsoft/dotnet/blob/master/releases/net471/KnownIssues/517815-BCL%20Applications%20making%20heavy%20use%20of%20System.Diagnostics.StackTrace%20might%20run%20more%20slowly%20on%20.NET%204.7.1.md)
- [517815 - BCL - Stack traces are missing source information for frames with debug information in the Portable PDB format when running on .NET Framework 4.7.1](https://github.com/Microsoft/dotnet/blob/master/releases/net471/KnownIssues/517815-BCL%20Stack%20traces%20are%20missing%20source%20information%20for%20frames%20with%20debug%20information%20in%20the%20Portable%20PDB%20format.md)
- [553390 - BCL - SGEN crashes trying to load the System.IO.Compression.FileSystem reference assembly]( https://github.com/Microsoft/dotnet/blob/master/releases/net471/KnownIssues/553390%20-%20BCL%20-%20SGEN%20crashes%20because%20it%20references%20System.IO.Compression.ZipFile.dll.md)
- [534719 - BCL - Targeting .NET Framework 4.7.1 copies extra files to your bin directory](https://github.com/Microsoft/dotnet/blob/master/releases/net471/KnownIssues/514195-Targeting%20.NET%20Framework%204.7.1%20copies%20extra%20files%20to%20your%20bin%20directory.md)
- [523633 - Setup - Application crashes occur when running on the .NET Framework 4.7.1 after upgrading from Windows 10 Anniversary Update to Windows 10 Creators Update](https://github.com/Microsoft/dotnet/blob/master/releases/net471/KnownIssues/523633%20-%20Setup%20-%20OS%20upgrade%20to%20Windows%2010%20gets%20the%20product%20in%20bad%20state.md)
- [534719 - Networking - ServicePoint.ConnectionLimit default behavior with loopback changed unexpectedly](https://github.com/Microsoft/dotnet/blob/master/releases/net471/KnownIssues/534719-Networking.ServicePoint.ConnectionLimit%20default%20behavior%20changed.md)

0 comments on commit 7f1dd6e

Please sign in to comment.