Bug 21784 - When package updating, you cannot remove packages
Summary: When package updating, you cannot remove packages
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: NuGet ()
Version: 5.0
Hardware: PC Mac OS
: Normal normal
Target Milestone: 5.8
Assignee: Matt Ward
Depends on:
Reported: 2014-08-02 19:31 UTC by James Clancey
Modified: 2015-01-06 12:10 UTC (History)
1 user (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description James Clancey 2014-08-02 19:31:19 UTC
When a project opens, xamarin studio checks for a package updates. This process takes a few min. During this time, you cannot remove/edit packages.
Comment 1 James Clancey 2014-08-03 23:29:42 UTC
Additionally, if you close a project while its updating. You cannot open new ones: http://screencast.com/t/REB1GXfZi8
Comment 2 Matt Ward 2014-08-04 04:55:27 UTC
Currently the only workaround is to disable the check for package updates in Preferences/General.

Checking for updates is slower than other NuGet actions. Using nuget.org it takes a second per project. 

How the NuGet addin currently works is that all actions are queued with the background dispatcher. So if you add/remove packages whilst the check for updates is being processed then these actions are queued and will be processed afterwards. This also affects opening a new project since it must be doing work on the background dispatcher.

One solution here would be to move the package update check to use its own thread and not use the background dispatcher. This would stop it from blocking other package actions. Also on closing the solution an attempt should be made to stop this thread.

Other package actions, such as installing, removing, updating, would still be queued, just not checking for updates.
Comment 3 Matt Ward 2015-01-06 12:10:49 UTC
Should be fixed in:

Xamarin Studio: (master branch)

There are a few commits associated with this change but the main commit is: