Home: Unable to satisfy the same version....

Created on 23 Jun 2017  路  3Comments  路  Source: NuGet/Home

VS 2017 Update 3 preview

I'm getting similar errors all the time inside Visual Studio. There is obviously a problem somewhere, to the point where nuget seems to be unusable...

Unable to satisfy conflicting requests for 'Company.Module': externalProject/Company.Module (>= 1.0.0.1) (via project/Company.Testing.Framework 0.1.0), Company.Module (>= 1.0.0.1) (via project/Company.Framework 0.1.0-alpha), Company.Module (>= 1.0.0.1) (via project/Company.Framework.Services 1.0.0) Framework: (.NETCoreApp,Version=v2.0)
Unable to satisfy conflicting requests for 'Company.Contracts': externalProject/Company.Contracts (>= 1.0.2.1) (via project/Company.Testing.Framework 0.1.0), Company.Contracts (>= 1.0.2.1) (via project/Company.Framework 0.1.0-alpha), Company.Contracts (>= 1.0.2.1) (via project/Company.Module 1.0.0.1), Company.Contracts (>= 1.0.2.1) (via project/Company.Framework.Services 1.0.0), Company.Contracts (>= 1.0.2.1) (via project/Company.Contracts.Framework 1.0.0.1) Framework: (.NETCoreApp,Version=v2.0)

In the first case, it's says it's conflicting because everyone has the same >= 1.0.0.1 dependency
In the second case, >= 1.0.2.1

I'm no expert, but I think it's a bug when nuget reports that there is a conflict because everyone is asking the same version...

I don't have a repro for this as it's custom code, however, I did make sure that everyone is targeting .net standard 2.0 libraries to at least remove that as a potential conflict.

Please help... I'm noticing there is a very high number of open issues. I'm still crossing my fingers that this can be somehow solved.

ErrorHandling Restore Question

Most helpful comment

It looks like the project Company.Testing.Framework has a project reference to Company.Module.
Company.Framework and Company.Framework.Services both reference the package Company.Module. The result is that these two conflict since the root level project here can't use both the project and package at the same time.

@philippe-lavoie is that how your project is set up? Does removing the package or project reference solve the issue?

The format is {Request} (via {Requestor}) to represent the edges in the dependency graph. The edges are comma delimited.

Version conflicts are covered by a different error, this error occurs when non-version constraints are conflicting.

It looks like this error message could be improved to make it more clear.

All 3 comments

@philippe-lavoie Thanks for reporting the issue.

You can find more information about this issue in documentation for this error. I think that error message had an issue where it did not print the right versions.

@emgarten This looks like the error message that you recently fixed? When did that go in?

It looks like the project Company.Testing.Framework has a project reference to Company.Module.
Company.Framework and Company.Framework.Services both reference the package Company.Module. The result is that these two conflict since the root level project here can't use both the project and package at the same time.

@philippe-lavoie is that how your project is set up? Does removing the package or project reference solve the issue?

The format is {Request} (via {Requestor}) to represent the edges in the dependency graph. The edges are comma delimited.

Version conflicts are covered by a different error, this error occurs when non-version constraints are conflicting.

It looks like this error message could be improved to make it more clear.

I think you are correct. project A was exposed as a package and used by package B. However C was using a reference to A and B was doing a nuget reference to C also.

Actually, exposing packages and working with them while doing development is forcing us to do the following custom steps inside our csproj files. It feels like a hack... especially since we wanted to also build our .net standard libraries in Linux too.














Was this page helpful?
0 / 5 - 0 ratings