Skip to content

Restore FAILS with <RuntimeIdentifiers> set and <PackageReference> to BOTH NS 1.x + 2.0 #1792

Closed
@ogreenz

Description

@ogreenz

Repro repo:
https://github.com/ogreenz/rid-netstandard2-repro

dotnet --info:

dotnet --info
.NET Command Line Tools (2.0.3)

Product Information:
 Version:            2.0.3
 Commit SHA-1 hash:  12f0c7efcc

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.16299
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.0.3\

Microsoft .NET Core Shared Framework Host

  Version  : 2.0.3
  Build    : a9190d4a75f4a982ae4b4fa8d1a24526566c69df

Project references both NodaTime (NS 1.x) and Dapper (NS 2.0).

When built WITHOUT <RuntimeIdentifiers> in the .csproj dotnet restore runs to completion and restore is successfull.

When <RuntimeIdentifiers> is set to any valid value AND both packages are referenced/used restore fails with these cryptic messages:

$ dotnet restore
  Restoring packages for C:\projects\repro-netstandard\repro-netstandard.csproj...
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605: Detected package downgrade: System.IO.FileSystem.Primitives from 4.3.0 to 4.0.1. Reference the package directly from the project to select a different version.
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605:  repro-netstandard -> NodaTime 2.2.3 -> System.Runtime.Serialization.Xml 4.1.1 -> System.Xml.ReaderWriter 4.0.11 -> System.IO.FileSystem 4.0.1 -> runtime.win.System.IO.FileSystem 4.3.0 -> System.IO.FileSystem.Primitives (>= 4.3.0)
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605:  repro-netstandard -> NodaTime 2.2.3 -> System.Runtime.Serialization.Xml 4.1.1 -> System.Xml.ReaderWriter 4.0.11 -> System.IO.FileSystem.Primitives (>= 4.0.1)
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605: Detected package downgrade: System.Resources.ResourceManager from 4.3.0 to 4.0.1. Reference the package directly from the project to select a different version.
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605:  repro-netstandard -> NodaTime 2.2.3 -> System.Runtime.Serialization.Xml 4.1.1 -> System.Xml.ReaderWriter 4.0.11 -> System.IO.FileSystem 4.0.1 -> runtime.win.System.IO.FileSystem 4.3.0 -> System.Resources.ResourceManager (>= 4.3.0)
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605:  repro-netstandard -> NodaTime 2.2.3 -> System.Runtime.Serialization.Xml 4.1.1 -> System.Xml.ReaderWriter 4.0.11 -> System.Resources.ResourceManager (>= 4.0.1)
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605: Detected package downgrade: System.Runtime.Handles from 4.3.0 to 4.0.1. Reference the package directly from the project to select a different version.
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605:  repro-netstandard -> NodaTime 2.2.3 -> System.Runtime.Serialization.Xml 4.1.1 -> System.Xml.ReaderWriter 4.0.11 -> System.IO.FileSystem 4.0.1 -> runtime.win.System.IO.FileSystem 4.3.0 -> System.Runtime.Handles (>= 4.3.0)
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605:  repro-netstandard -> NodaTime 2.2.3 -> System.Runtime.Serialization.Xml 4.1.1 -> System.Xml.ReaderWriter 4.0.11 -> System.IO.FileSystem 4.0.1 -> System.Runtime.Handles (>= 4.0.1)
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605: Detected package downgrade: System.Runtime.InteropServices from 4.3.0 to 4.1.0. Reference the package directly from the project to select a different version.
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605:  repro-netstandard -> NodaTime 2.2.3 -> System.Runtime.Serialization.Xml 4.1.1 -> System.Xml.ReaderWriter 4.0.11 -> System.IO.FileSystem 4.0.1 -> runtime.win.System.IO.FileSystem 4.3.0 -> System.Runtime.InteropServices (>= 4.3.0)
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605:  repro-netstandard -> NodaTime 2.2.3 -> System.Runtime.Serialization.Xml 4.1.1 -> System.Xml.ReaderWriter 4.0.11 -> System.Runtime.InteropServices (>= 4.1.0)
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605: Detected package downgrade: System.Text.Encoding.Extensions from 4.3.0 to 4.0.11. Reference the package directly from the project to select a different version.
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605:  repro-netstandard -> NodaTime 2.2.3 -> System.Runtime.Serialization.Xml 4.1.1 -> System.Xml.ReaderWriter 4.0.11 -> System.IO.FileSystem 4.0.1 -> runtime.win.System.IO.FileSystem 4.3.0 -> System.Text.Encoding.Extensions (>= 4.3.0)
C:\projects\repro-netstandard\repro-netstandard.csproj : error NU1605:  repro-netstandard -> NodaTime 2.2.3 -> System.Runtime.Serialization.Xml 4.1.1 -> System.Xml.ReaderWriter 4.0.11 -> System.Text.Encoding.Extensions (>= 4.0.11)
  Generating MSBuild file C:\projects\repro-netstandard\obj\repro-netstandard.csproj.nuget.g.props.
  Restore failed in 378 ms for C:\projects\repro-netstandard\repro-netstandard.csproj.

Note that if Dapper / NodaTime are used exclusively dotnet restore while using <RuntimeIdentifiers> runs successfully again....

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions