-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
VS 2015 support for ns2.0 causes conflicts with ref assembly facades #1539
Comments
From @ericstj It looks like MSBuild is still adding the facades from the targeting pack. I haven't chased down the diff yet, but you should be able to workaround by setting ImplicitlyExpandDesignTimeFacades=false. I believe the diff is this: dotnet/msbuild@40cd4d0 Indeed this is an SDK issue. |
@terrajobst This is another issue with the .NET Standard facades you probably should be tracking |
I didn't know how to set ImplicitlyExpandDesignTimeFacades=false, so adding this for others who arrive here and need help. You need to add |
+1. thanks for sharing the knowledge - just saved me from NuGet/.netstandard/assembly redirect hell. |
thanks for the suggestion @MariusVolkhart . Just so that other people know, that fix did not work for me |
@livarcocc any update? I think this is still blocking ns2.0 consumption in VS2015. |
It is marked for 2.1.4xx, which will ship with VS 15.8. cc @dsplaisted |
i ran into the same issue. What I did is just renamed the facades folder and it worked. |
Not sure if it helps, but for me this was due to having nuget packages for DLLs that also existed with local installed .NET versions. The project references seem to reference the local DLLs while the csproj file references the nuget packages. I removed the references in the project References section of the offending DLLs but kept the nuget packages installed. The offending DLLs/references were System.Runtime.Extensions.dll and System.Reflection.dll (existed in local 4.6.2), and the nuget packages for these two were added by adding the nuget package for Microsoft.Extensions.DependencyInjection. Edit: adding ImplicitlyExpandDesignTimeFacades in the csproj file did not help. Edit2: Note that the project will no longer have references to the DLL (might not be able to be used for using statements - still worked for System.Reflection?), but the build will copy the required DLL to the bin folder. |
What's the status on this? |
Moving this out from dotnet/standard#467 (comment)
--
For Visual Studio 2015 there is a NuGet 3.6.0 VSIX at https://www.nuget.org/downloads that tells me to download the VS 2015 support from https://download.microsoft.com/download/0/F/D/0FD852A4-7EA1-4E2A-983A-0484AC19B92C/dotnet-standard-support-vs2015-2.0.0-win-x86.msi (though via an aka.ms link that I now no longer have in my clipboard)
However, giving this a try on that solution yields compile errors for conflicting references like this:
Same thing happens when creating a new .NET 4.6.1 console application in VS 2017 and adding a netstandard2.0 package (e.g. Microsoft.Extensions.Logging.Console).
Heres the diagnostic log of the build: msbuild.log.zip
cc @ericstj @dsplaisted - this is probably an sdk issue?
The text was updated successfully, but these errors were encountered: