Skip to content

Referencing NETStandard1.5 / NETStandard1.6 library in NET461 project gets wrong facades #1386

Closed
@ericstj

Description

@ericstj

See dotnet/core#730 (comment).

Related: https://github.com/dotnet/corefx/issues/19058

The netstandard mapping for net461 changed from netstandard1.4 to netstandard2.0 and NET462 changed from netstandard1.5 to netstandard2.0.

This causes a ref-def mismatch for our old packages, consider System.Runtime:

  • netstandard1.0 : 4.0.0.0
  • netstandard1.2 : 4.0.10.0
  • netstandard1.3 : 4.0.20.0
  • netstandard1.5 : 4.1.0.0
  • net45 : 4.0.0.0
  • net451 : 4.0.10.0
  • net46 : 4.0.20.0
  • net462 : 4.1.0.0

A library compiled against netstandard1.5 would get a reference to assembly version 4.1.0.0. Prior to the NuGet change that library would only run on net462 or later, where the package also carried a facade with the same version. After the NuGet change its a problem because the package only provides the 4.1.0.0 facade for net462 and higher.

@terrajobst, @weshaggard, and I had thought about this and planned for it by having the netstandard2.0 support package supersede those older netstandard constituent packages (see related issue). The idea was the netstandard2.0 support package would be applicable in all cases where it mattered. The problem was I later did an optimization that only applies the ns2 support libs when netstandard.dll is referenced.

The fix here, will be to instead apply the netstandard support libs whenever netstandard.dll or System.Runtime 4.1.0.0 (or later) is referenced.

Activity

added this to the 2.0.0 milestone on Jul 5, 2017
livarcocc

livarcocc commented on Jul 5, 2017

@livarcocc
Contributor

@ericstj is this a change that you can make?

ericstj

ericstj commented on Jul 5, 2017

@ericstj
MemberAuthor

Yeah, I can get a PR ready. I'll need some help getting it in though.

livarcocc

livarcocc commented on Jul 5, 2017

@livarcocc
Contributor

I can help with that. Thanks.

NightWatchman

NightWatchman commented on Aug 21, 2017

@NightWatchman

I believe I'm having this issue after installing Visual Studio v15.3.1 and I am not sure what I need to do to resolve it.

I have a WebSite project that references several NuGet packages which target Netstandard 1.6. After installing the new Visual Studio I first encountered Issue and fixed that by applying the workaround:

<Target Name="RemoveNetFxForceConflicts" AfterTargets="ResolveAssemblyReferences">
  <ItemGroup>
    <ReferencePath Remove="@(ReferencePath)" Condition="'%(FileName)' == 'netfx.force.conflicts'" />
  </ItemGroup>
</Target>

Then I started getting the YSOD at runtime:
image

If I set my build output to detailed I can see the following:

1>Using "ResolvePackageFileConflicts" task from assembly "C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\tools\net46\Microsoft.NET.Build.Extensions.Tasks.dll".
1>Task "ResolvePackageFileConflicts"
1>  Encountered conflict between 'Reference:System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net47\ref\System.Runtime.InteropServices.RuntimeInformation.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net47\ref\System.Runtime.InteropServices.RuntimeInformation.dll' because AssemblyVersion '4.0.2.0' is greater than '4.0.1.0'.
1>  Encountered conflict between 'Reference:System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net47\ref\System.Security.Cryptography.Algorithms.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net47\ref\System.Security.Cryptography.Algorithms.dll' because AssemblyVersion '4.3.0.0' is greater than '4.2.1.0'.
1>  Encountered conflict between 'Reference:Microsoft.Win32.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\Microsoft.Win32.Primitives.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\Microsoft.Win32.Primitives.dll' because AssemblyVersion '4.0.3.0' is greater than '4.0.2.0'.
1>  Encountered conflict between 'Reference:System.AppContext, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.AppContext.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.AppContext.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Console.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Console.dll' because AssemblyVersion '4.0.2.0' is greater than '4.0.1.0'.
1>  Encountered conflict between 'Reference:System.Diagnostics.Tracing, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Diagnostics.Tracing.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Diagnostics.Tracing.dll' because AssemblyVersion '4.2.0.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Globalization.Calendars, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Globalization.Calendars.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Globalization.Calendars.dll' because AssemblyVersion '4.0.3.0' is greater than '4.0.2.0'.
1>  Encountered conflict between 'Reference:System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.IO.Compression.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.IO.Compression.dll' because AssemblyVersion '4.2.0.0' is greater than '4.1.2.0'.
1>  Encountered conflict between 'Reference:System.IO.Compression.ZipFile, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.IO.Compression.ZipFile.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.IO.Compression.ZipFile.dll' because AssemblyVersion '4.0.3.0' is greater than '4.0.2.0'.
1>  Encountered conflict between 'Reference:System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.IO.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.IO.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.IO.FileSystem.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.IO.FileSystem.dll' because AssemblyVersion '4.0.3.0' is greater than '4.0.2.0'.
1>  Encountered conflict between 'Reference:System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.IO.FileSystem.Primitives.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.IO.FileSystem.Primitives.dll' because AssemblyVersion '4.0.3.0' is greater than '4.0.2.0'.
1>  Encountered conflict between 'Reference:System.Linq, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Linq.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Linq.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Linq.Expressions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Linq.Expressions.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Linq.Expressions.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Net.Http, Version=4.1.1.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Net.Http.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Net.Http.dll' because AssemblyVersion '4.2.0.0' is greater than '4.1.1.1'.
1>  Encountered conflict between 'Reference:System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Net.Sockets.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Net.Sockets.dll' because AssemblyVersion '4.2.0.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Reflection, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Reflection.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Reflection.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Runtime.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Runtime.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Runtime.Extensions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Runtime.Extensions.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Runtime.Extensions.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Runtime.InteropServices, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Runtime.InteropServices.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Runtime.InteropServices.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Security.Cryptography.Encoding.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Security.Cryptography.Encoding.dll' because AssemblyVersion '4.0.2.0' is greater than '4.0.1.0'.
1>  Encountered conflict between 'Reference:System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Security.Cryptography.Primitives.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Security.Cryptography.Primitives.dll' because AssemblyVersion '4.0.2.0' is greater than '4.0.1.0'.
1>  Encountered conflict between 'Reference:System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Security.Cryptography.X509Certificates.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Security.Cryptography.X509Certificates.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Security.SecureString, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Security.SecureString.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Security.SecureString.dll' because AssemblyVersion '4.1.0.0' is greater than '4.0.1.0'.
1>  Encountered conflict between 'Reference:System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Text.RegularExpressions.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Text.RegularExpressions.dll' because AssemblyVersion '4.1.1.0' is greater than '4.1.0.0'.
1>  Encountered conflict between 'Reference:System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Xml.ReaderWriter.dll'.  Choosing 'Reference:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\ref\System.Xml.ReaderWriter.dll' because AssemblyVersion '4.1.1.0' is greater than '4.1.0.0'.
1>  Encountered conflict between 'Reference:System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net47\lib\System.Runtime.InteropServices.RuntimeInformation.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net47\lib\System.Runtime.InteropServices.RuntimeInformation.dll' because AssemblyVersion '4.0.2.0' is greater than '4.0.1.0'.
1>  Encountered conflict between 'Reference:System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net47\lib\System.Security.Cryptography.Algorithms.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net47\lib\System.Security.Cryptography.Algorithms.dll' because AssemblyVersion '4.3.0.0' is greater than '4.2.1.0'.
1>  Encountered conflict between 'Reference:Microsoft.Win32.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\Microsoft.Win32.Primitives.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\Microsoft.Win32.Primitives.dll' because AssemblyVersion '4.0.3.0' is greater than '4.0.2.0'.
1>  Encountered conflict between 'Reference:System.AppContext, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.AppContext.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.AppContext.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Console, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Console.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Console.dll' because AssemblyVersion '4.0.2.0' is greater than '4.0.1.0'.
1>  Encountered conflict between 'Reference:System.Diagnostics.Tracing, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Diagnostics.Tracing.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Diagnostics.Tracing.dll' because AssemblyVersion '4.2.0.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Globalization.Calendars, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Globalization.Calendars.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Globalization.Calendars.dll' because AssemblyVersion '4.0.3.0' is greater than '4.0.2.0'.
1>  Encountered conflict between 'Reference:System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.IO.Compression.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.IO.Compression.dll' because AssemblyVersion '4.2.0.0' is greater than '4.1.2.0'.
1>  Encountered conflict between 'Reference:System.IO.Compression.ZipFile, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.IO.Compression.ZipFile.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.IO.Compression.ZipFile.dll' because AssemblyVersion '4.0.3.0' is greater than '4.0.2.0'.
1>  Encountered conflict between 'Reference:System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.IO.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.IO.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.IO.FileSystem, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.IO.FileSystem.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.IO.FileSystem.dll' because AssemblyVersion '4.0.3.0' is greater than '4.0.2.0'.
1>  Encountered conflict between 'Reference:System.IO.FileSystem.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.IO.FileSystem.Primitives.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.IO.FileSystem.Primitives.dll' because AssemblyVersion '4.0.3.0' is greater than '4.0.2.0'.
1>  Encountered conflict between 'Reference:System.Linq, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Linq.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Linq.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Linq.Expressions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Linq.Expressions.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Linq.Expressions.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Net.Http, Version=4.1.1.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Net.Http.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Net.Http.dll' because AssemblyVersion '4.2.0.0' is greater than '4.1.1.1'.
1>  Encountered conflict between 'Reference:System.Net.Sockets, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Net.Sockets.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Net.Sockets.dll' because AssemblyVersion '4.2.0.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Reflection, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Reflection.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Reflection.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Runtime.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Runtime.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Runtime.Extensions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Runtime.Extensions.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Runtime.Extensions.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Runtime.InteropServices, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Runtime.InteropServices.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Runtime.InteropServices.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Security.Cryptography.Encoding.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Security.Cryptography.Encoding.dll' because AssemblyVersion '4.0.2.0' is greater than '4.0.1.0'.
1>  Encountered conflict between 'Reference:System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Security.Cryptography.Primitives.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Security.Cryptography.Primitives.dll' because AssemblyVersion '4.0.2.0' is greater than '4.0.1.0'.
1>  Encountered conflict between 'Reference:System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Security.Cryptography.X509Certificates.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Security.Cryptography.X509Certificates.dll' because AssemblyVersion '4.1.2.0' is greater than '4.1.1.0'.
1>  Encountered conflict between 'Reference:System.Security.SecureString, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Security.SecureString.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Security.SecureString.dll' because AssemblyVersion '4.1.0.0' is greater than '4.0.1.0'.
1>  Encountered conflict between 'Reference:System.Text.RegularExpressions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Text.RegularExpressions.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Text.RegularExpressions.dll' because AssemblyVersion '4.1.1.0' is greater than '4.1.0.0'.
1>  Encountered conflict between 'Reference:System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL' and 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Xml.ReaderWriter.dll'.  Choosing 'CopyLocal:C:\Program Files (x86)\Microsoft Visual Studio 2017\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\\net461\lib\System.Xml.ReaderWriter.dll' because AssemblyVersion '4.1.1.0' is greater than '4.1.0.0'.

I've cleaned and rebuilt the solution, deleted my bin and obj directories and tried again, and installed the NETStandard.Library v2.0.0 package, and I always get the same YSOD and the same errors in the build log.

Do I need to ensure that all of the NuGet packages referenced by the project target NetStandard 2.0? I figured that installing the NETStandard.Library into the web project would fix it if that was the issue but it didn't.

I've also tried both with and without <DependsOnNETStandard>true</DependsOnNETStandard> in my project file and it didn't seem to make any difference.

ericstj

ericstj commented on Aug 21, 2017

@ericstj
MemberAuthor

You'll get that error if your web app is missing bindingRedirects. @nguerrera reccomended a good solution here: https://developercommunity.visualstudio.com/solutions/98340/view.html

NightWatchman

NightWatchman commented on Aug 21, 2017

@NightWatchman

@ericstj That's great, thanks! Finding the warning in the Error List pane and double-clicking on it did the trick for me, and all the binding redirects were added to my Web.Config file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @livarcocc@NightWatchman@ericstj

      Issue actions

        Referencing NETStandard1.5 / NETStandard1.6 library in NET461 project gets wrong facades · Issue #1386 · dotnet/sdk