I just built a new PC, installed my dev tools, connected to TFS and downloaded my project. Now most of my references are broken to EF, jQuery, etc.
The packages folder is missing all the .dlls, if I try to use NuGet restore nothing happens. If I use NuGet manager for Solution there is no "force" reinstall option.
NuGet seems to be more a hindrance than a help.
You can run "Update-Package -reinstall" command from Package Manager Console in VS to force reinstall all the packages.
Package authors often need to reinstall the same version of package
they are developing to test the behavior. The command Install-Package
does not provide ‘-force’ option, that could forcefully reinstall a
package. So, Update-Package -reinstall is added to meet that
requirement.
I've had that same issue plenty of times when I need to re-download code after getting a new PC. Here's what worked for me:
Download the project from TFS (or in your case SVN).
Delete the "packages" folder
Make sure the "Package Manager Console" is enabled (Tools -> NuGet Package Manager -> Package Manager Console)
Open the solution file.
At the right side of the "Package Manager Console," a "Restore" button should appear. Click on the "Restore" button.
Hope that helps you.
I'm not sure if I'm supposed to share the link if I already answered a similar question or just answer again, so I'm doing both. Here's the link to the same answer from a different asker.
Edit:
If after you complete the above steps you are still getting syntax errors from missing references, right-click on References in the Solution Explorer and then just hit OK. That fixed the problem with the references for me.
Related
I want to know how I can debug a NuGet package not properly showing as updated. In my specific case the package for jQuery.Validation is (the only one left) in the "Update" list, but hitting the update button does nothing. Here's the dialog for Managing NuGet Packages for my solution:
Hitting the "Update" button will give an additional popup:
As you can see everything seems slightly grayed out (what does that mean?). Hitting "Ok" just brings me back to the other dialog.
The main problem is that I don't know how to debug this sort of problem. I've tried doing the following:
Opening the Package Manager Console to see if it logs any trouble. No dice.
Checking the jquery.validate.min.js file, which mentions version 1.13.1, which is in fact the one mentioned in the dialog as the newest version.
Checking the packages.config file, which also mentions my solution includes version 1.13.1.
Restarting Visual Studio. No dice.
Remove the package. Re-add the package. No dice (not even after restarting Visual Studio again).
Is this just a bug in the Package Manager or the package? How can I further debug the root cause of this problem?
I'm using Visual Studio 2012, have updated the product as well as all extensions (including the NuGet package manager). The solution was originally based on an MVC 2 template, and has been updated for each major MVC release (currently up to MVC 5). Only this particular package is giving trouble, I've succesfully updated 10+ other packages just before this one.
This can happen if you have an old NuGet package left in the packages directory.
When managing packages for the solution the NuGet dialog will show updates for all packages that are in the packages directory even if they are not installed into any projects. If you manage the packages for the project on its own the NuGet dialog would not show any package updates as being available.
So the workaround is to remove the unwanted NuGet package from the packages directory.
I am getting an error when trying to enable package restore in a new solution I just created. The error in VS2012 is:
NuGet Package Manager
An error occurred while configuring the solution to restore NuGet
packages on build
Unable to read package from path 'NuGet.Build.2.7.0.npkg'.
I tried opening the solution in VS2010 to work around the problem and I am also getting an error when trying to enable package restore, but the message is different:
NuGet Package Manager
An error occurred while configuring the solution to restore NuGet
packages on build
Archive file cannot be size 0.
I tried creating a new solution, but got the same result.
I then tried doing a repair on VS2012 update 3 and rebooting. Still getting the problem.
I also scanned the folder, project, and solution file for anything NuGet or .nupkg, but there is nothing there.
So how can I get this feature working again? The last time I used it was about a week ago, and I don't remember specifically what I changed since then. I uninstalled the VS Power Tools package that I installed about a week ago, but that didn't fix the problem either.
Update
I followed the "removal" instructions here and used a project I already have as a template to enable package restore manually. However, I am still looking for a better solution because this is a feature I use frequently.
I also tried uninstalling and reinstalling NuGet from visual studio, but I still get the same issue. If memory serves correctly, there was a recent NuGet update (is there a log for VS extension installation so I can check?).
I suspect that the NuGet.Build.2.7.0.npkg file is zero bytes due to a failed download. NuGet.Build.2.7.0.npkg is the NuGet package that Visual Studio downloads in order to enable package restore for your solution.
Take a look in your cache and see if this file is zero bytes. If so then delete the file or clearing the cache and try enabling package restore again. The cache is under your profile in a directory similar to:
C:\Users\YourUsername\AppData\Local\NuGet\Cache
You can also browse to the cache from inside Visual Studio by opening the Package Manager Settings, selecting General and clicking the Browse button.
All of the previous answers, plus this one: can you run .\nuget\nuget.exe update -self if this is a solution in which package restore was previously enabled?
check whether your nuget package manager is updated one or not.
Check this from Tools-> Extensions and Updates -> Updates
Update your Nuget Package Manager and then it will work
I accidently added a package to my VS2010 MVC 3 project via the 'Manage NuGet Packages' tool in the 'Tools' menu and I would like to remove it, however after some research I can't seem to figure out how to do it.
I have tried opening up the 'Manage NuGet Packages' tool within the solution, but there seems to be no uninstall option so I searched online and found the following article on installing and uninstalling packages. It mentions right clicking on the project and choosing the 'Add Package Library Reference' option, but this doesn't exist. I did notice that the example's project is a Website type, where mine isn't as I am using a modified version of the MVC project template.
Anyway, I searched online again and found several mentions of starting VS2010 as an Administrator and then the option for uninstalling should be available in the 'Manage NuGet Packages' tool, however this didn't change anything and no uninstall option appears.
Can anyone suggest what might be the problem and how to remove this package?
Here's a link to the docs:
Go to the section entitled Removing a Package, you can use the console to uninstall the package you want.
From the Library Package Manager, click the Installed Packages tab, then click Manage on the package you want to remove. Clear the checkbox for the solution/project you want the package uninstalled from, then click OK.
Or, open up the Package Manager Console and type "uninstall-package YourPackageName".
I get a message saying the following:
Error 1 Package restore is disabled by default. To give consent, open
the Visual Studio Options dialog, click on Package Manager node and
check 'Allow NuGet to download missing packages during build.' You can
also give consent by setting the environment variable
'EnableNuGetPackageRestore' to 'true'.
When I go to Tools -> Options, I do not see Package Manager and underneath I see Package Sources and Recent Packages. I do not see anywhere where I can set Allow Nuget to download missing packages during build though.
The option to give consent in the UI has been added with NuGet Package Manager 1.8. It's the 3rd item under Tools-> Options-> Package Manager-> General : "Package Restore : Allow NuGet to download missing packages during build".
Please make sure NuGet is up-to-date in Tools->Extension Manager.
Alternatively you can give consent by setting the EnableNuGetPackageRestore Environment variable to true.
I found I needed an extra couple of steps to get it to download the packages
Check Allow NuGet to download missing packages during build
Check Always show solution in Projects and Solutions
Right click on solution and Enable NuGet Package Restore
Open Manage NuGet Packages and click Restore
I did not seem to have the "Package Manager" node under Tools->Options [this was in Visual Studio 2013 :-)]. To get that node in there, I browsed to Tools -> Extensions and Updates and searched for nuget. Installing "NuGet for Visual Studio 2013" got me the node and the option to allow package restore!
I am using Visual Studio 2010 and NuGet 2.0.
Someone had checked in a solution that used NuGet for various packages. When I checked out the solution and built it, I got the same errors. What's more, when I viewed the NuGet Package Manager from the Tools -> Options window, the Package Restore already had the appropriate check boxes checked.
I tried clicking the Clear Package Cache button. After doing that, everything built correctly.
So I got prompted to download the latest NuGet Package Manager in VS2010.
All previous updates (including this) has failed with:
VSIXInstaller.SignatureMismatchException: The installed version of 'NuGet Package Manager' is signed, but the update version has an invalid signature. Therefore, Extension Manager cannot install the update.
Which, in itself has been going on for some time now, and they still haven't fixed it (look in Q&A).
Ok, fine, previously I could simply uninstall the NuGet extension and install the latest. However, this time, both the Disable and Uninstall buttons are disabled.
So I can't uninstall and I can't upgrade.
Catch22.
How can I manually remove the NuGet extension from Visual Studio?
What files/folders/reg entries do I have to kill to get rid of NuGet?
To uninstall NuGet, you must first run Visual Studio as Administrator, then you will see the Uninstall option available.
Restart VS, but this time run it as your normal account. When you install NuGet going forward, you should be able to update to future versions without running as Administrator.
I believe this issue occurs due to NuGet being installed with MVC 3. I hope in the future we no longer bundle NuGet with other software.
Maybe this is fixed now. There is a very new release.
http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c/
http://docs.nuget.org/docs/reference/known-issues#Upgrading_to_latest_NuGet_from_an_older_version_causes_a_signature_verification_error.
When viewing the logs, you might see a mention of a SignatureMismatchException.
To prevent this from occurring, there is a Visual Studio 2010 SP1 hotfix you can install. Alternatively, the workaround is to simply uninstall NuGet and then install it from the VS Extension Gallery. See http://support.microsoft.com/kb/2581019 for more information.
If you want to delete/uninstall Nuget package which is applied to multiple projects in your solutions then go to:
Tools-> Nuget Package Manager -> Manage Nuget Packages for Solution
In the left column where is 'Installed packages' select 'All', so you'll
see a list of installed packages and Manage button across them.
Select Manage button and you'll get a pop out, deselect the checkbox across project name and Ok it
The rest of the work Package Manager will do it for you.