NuGet product used: dotnet.exe
NuGet version: 2.12.0.0
dotnet.exe --version (if appropriate): 2.0.0-preview2-006497
VS version: N/A
OS version: macOS Sierra 10.12.5
This was not an issue with dotnet 1.0.4 for certain and probably all other 1.x.y.
This issue was opened following from the discussion in dotnet/core#711.
Create a new ASP.NET Core project.
Force a package to downgrade. In my case, I include dependencies <PackageReference Include="Microsoft.AspNetCore.JsonPatch" Version="1.0.0" />
and <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" />
. The Mvc package requires JsonPatch v1.1.2 and I'm forcing v1.0.0 to be installed instead.
Try to run dotnet restore
.
Expected behaviour
The dotnet restore should succeed, but with downgrade warnings.
Actual behaviour
The dotnet restore fails with downgrade errors.
/Users/<me>/RiderProjects/<product>/src/<company>.<product>Web.ServiceAdapters.WebSockets/<company>.<product>Web.ServiceAdapters.WebSockets.csproj : error NU1605: Detected package downgrade: Microsoft.AspNetCore.JsonPatch from 1.1.2 to 1.0.0. Reference the package directly from the project to select a different version. [/Users/<me>/RiderProjects/<product>/<product>web-core.sln]
/Users/<me>/RiderProjects/<product>/src/<company>.<product>Web.ServiceAdapters.WebSockets/<company>.<product>Web.ServiceAdapters.WebSockets.csproj : error NU1605: <company>.<product>Web.ServiceAdapters.WebSockets (>= 1.0.0) -> Microsoft.AspNetCore.Mvc (>= 1.1.3) -> Microsoft.AspNetCore.Mvc.Formatters.Json (>= 1.1.3) -> Microsoft.AspNetCore.JsonPatch (>= 1.1.2) [/Users/<me>/RiderProjects/<product>/<product>web-core.sln]
/Users/<me>/RiderProjects/<product>/src/<company>.<product>Web.ServiceAdapters.WebSockets/<company>.<product>Web.ServiceAdapters.WebSockets.csproj : error NU1605: <company>.<product>Web.ServiceAdapters.WebSockets (>= 1.0.0) -> Microsoft.AspNetCore.JsonPatch (>= 1.0.0) [/Users/<me>/RiderProjects/<product>/<product>web-core.sln]
This issue is not present with Preview 1, so this issue is caused by some change introduced between .NET Core 2.0.0-preview1-005685 and 2.0.0-preview2-006497.
Downgrade warnings are now errors by default in preview2. You can change this in your project using the NoWarn
or WarningsAsErrors
properties.
@emgarten - Is this WarningsAsErrors
property documented anywhere? What's the syntax in XML to clear it?
@atrauzzi You can disable these warnings using the following:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<NoWarn>$(NoWarn);NU1605</NoWarn>
</PropertyGroup>
</Project>
@atrauzzi take a look at https://blog.nuget.org/20170815/Whats-nu-in-NuGet-with-VS2017-15-3.html#msbuild-integration-of-nuget-warnings-and-errors
Most helpful comment
@atrauzzi You can disable these warnings using the following: