Skip to content
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

Prevent accidental version drift within a solution. #1703

Open
isaacabraham opened this issue Nov 9, 2015 · 4 comments
Open

Prevent accidental version drift within a solution. #1703

isaacabraham opened this issue Nov 9, 2015 · 4 comments
Labels
Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. Status:Excluded from icebox cleanup Status:Inactive Icebox issues not updated for a specific long time Type:Feature
Milestone

Comments

@isaacabraham
Copy link

I've been away from the NuGet/VS game for a while, and came back to use it a few days ago. One of the things that still exists is the ability to, very easily, change the version of a dependency in one project but have another version with another project within the same solution, without any warnings or notification that this is the case. This inevitably leads to all manner of problems that usually only rear their head at runtime.

The NuGet tooling should either: -

(a) make this extremely difficult to do e.g. make the "manage nuget packages" dialog always show the solution-wide view rather than the project-specific view that you can get, with warnings saying "this will cause you lots of problems, don't do this" if you explicitly change one project rather than all of them, or

(b) use something akin to the Groups feature in Paket (http://fsprojects.github.io/Paket/faq.html#NuGet-allows-to-use-multiple-versions-of-the-same-package-Can-I-do-that-with-Paket). Lift package versioning to the top level and only refer to dependencies within a packages.config, and override this with a group if required.

@yishaigalatzer
Copy link

@isaacabraham I agree with the general gist, and I believe we have a bug covering option (b) (that unfortunately I can't locate right this second).

For now in solution level package manager UI, we add a consolidate view just for this.

Keep in mind that in quite a few solutions it is desired and correct to vary package versions (e.g. shipping applications targeting different platforms, or having varying dependencies per target platform in the case of packages), so blocking the process explicitly/making it super hard - needs more finesse.

@isaacabraham
Copy link
Author

Yeah, you will always need an escape hatch. It's just that currently the "pit of failure" is a little bit too big, the ease with which you can do the "wrong" thing at the moment just needs to be dialled down from 9 to maybe 2 or 3 :-)

Consolidate is a nice UI feature - but it would be better to bake this into Nuget at a deeper level IMHO. Also, prevention is way better than cure here - better to stop people needing to consolidate stuff in the first place.

@csharpfritz
Copy link
Contributor

csharpfritz commented Nov 9, 2015 via email

@yishaigalatzer yishaigalatzer modified the milestones: Client-VNext, 3.5 Beta Nov 12, 2015
@yishaigalatzer yishaigalatzer added Priority:2 Issues for the current backlog. Type:Feature labels Nov 12, 2015
@yishaigalatzer yishaigalatzer modified the milestones: 3.5 Beta, 3.5 RC Apr 8, 2016
@emgarten emgarten modified the milestones: Future-1, Backlog Nov 10, 2017
@emgarten
Copy link
Member

Related: #5602

@ghost ghost added the Status:Inactive Icebox issues not updated for a specific long time label Sep 1, 2022
@nkolev92 nkolev92 added Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. and removed Priority:2 Issues for the current backlog. labels Apr 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority:3 Issues under consideration. With enough upvotes, will be reconsidered to be added to the backlog. Status:Excluded from icebox cleanup Status:Inactive Icebox issues not updated for a specific long time Type:Feature
Projects
None yet
Development

No branches or pull requests

7 participants