From 7f1dd6e64f58c30d07b8541ca218f2347e791769 Mon Sep 17 00:00:00 2001 From: Jose Perez Rodriguez Date: Mon, 26 Mar 2018 17:00:02 -0700 Subject: [PATCH] Adding known issue about 12 shims when targeting 4.7.1 (#677) * Adding known issue about 12 shims when targeting 4.7.1 * PR Feedback * PR Feedback * PR Feedback * Feedback --- ...opies extra files to your bin directory.md | 24 +++++++++++++++++++ releases/net471/dotnet471-known-issues.md | 1 + 2 files changed, 25 insertions(+) create mode 100644 releases/net471/KnownIssues/514195-Targeting .NET Framework 4.7.1 copies extra files to your bin directory.md diff --git a/releases/net471/KnownIssues/514195-Targeting .NET Framework 4.7.1 copies extra files to your bin directory.md b/releases/net471/KnownIssues/514195-Targeting .NET Framework 4.7.1 copies extra files to your bin directory.md new file mode 100644 index 000000000..0f7da2b81 --- /dev/null +++ b/releases/net471/KnownIssues/514195-Targeting .NET Framework 4.7.1 copies extra files to your bin directory.md @@ -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). diff --git a/releases/net471/dotnet471-known-issues.md b/releases/net471/dotnet471-known-issues.md index 5082a2dab..d5ec5c264 100644 --- a/releases/net471/dotnet471-known-issues.md +++ b/releases/net471/dotnet471-known-issues.md @@ -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)