Skip to content

Allow an upper limit Version for ProjectReference references in nupkg from dotnet pack to support semver #5556

@livarcocc

Description

@livarcocc

From @csMACnz on July 10, 2017 10:20

It would be good to be able to support Semantic Versioning from a csproj ProjectReference, like you can with PackageReference. To do this, upper version limits in nuget packages help a lot. You cannot currently do this with ProjectReferences and dotnet pack.

Steps to reproduce

  • Create two projects, MyReferencedPackage, and MyNewPackage.
  • Add version information for both packages (e.g. version 1.2.3)
  • Reference MyReferencedPackage from MyNewPackage using a ProjectReference attribute.
    • <ProjectReference Include="..\MyReferencedPackage\MyReferencedPackage.csproj" />
  • (modify the reference above somehow yet to be defined)
  • run dotnet pack on both projects.

Expected behavior

project version in nupkg has a version range (e.g. MyReferencedPackage (≥1.2.3 && < 2.0.0))

Actual behavior

project version in nupkg has the built packages version (e.g. MyReferencedPackage (≥1.2.3))

I'm not too worried on the implementation detail of what the xml should look like, but as a for instance:

<ProjectReference Include="..\MyReferencedPackage\MyReferencedPackage.csproj" >
    <MaximumVersion Inclusive="false">2</MaximumVersion>
</ProjectReference>

To produce the reference from the example above of MyReferencedPackage (≥1.2.3 && < 2.0.0)
(Or if Inclusive is true, then MyReferencedPackage (≥1.2.3 && ≤ 2.0.0))

Copied from original issue: dotnet/cli#7113

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions