Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
ericstj opened this issue Jul 5, 2017 · 6 comments

Comments

@ericstj
Copy link
Member

ericstj commented Jul 5, 2017

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.

@livarcocc
Copy link
Contributor

@ericstj is this a change that you can make?

@ericstj
Copy link
Member Author

ericstj commented Jul 5, 2017

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

@livarcocc
Copy link
Contributor

I can help with that. Thanks.

@NightWatchman
Copy link

NightWatchman commented Aug 21, 2017

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
Copy link
Member Author

ericstj commented Aug 21, 2017

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
Copy link

@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
Projects
None yet
Development

No branches or pull requests

3 participants