user826955
user826955

Reputation: 3206

Can't uninstall/reinstall NuGet package

I've set up my project with Visual Studio Express 2012, added some C# code, and successfully compiled/deployed to emulator. At some point I decided I want to do something with JSON, and I found that I should use the Json.NET framework, which is available as a NuGet package. I have added this framework successfully using the command Install-Package Newtonsoft.Json.

I tried to install an update which MSVC offered two days ago, and the installation failed, leaving me unable to open my project again. Reinstalling MSVC didn't help, so I ended up restoring Windows to a previous state. I was able to open my project again, and I wanted to reinstall the NuGet package (not knowing it is installed inside the project, not MSVC). It gave me errors upon installing, so I tried to uninstall everything from package console.

Long story short:

Now I'm completely lost. I don't know how to install the package properly, nor how to remove it properly. Is my project file broken? How can I repair it?


[edit] Now it gets even more confusing. I've just updated the NuGet package manager (not MSVC though), and tried to reinstall Json.NET.

Should I just start over from scratch and create a new project? :/


Contents of packages.dgml:

<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph GraphDirection="LeftToRight" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
  <Nodes />
  <Links />
  <Categories>
    <Category Id="Projekt" />
    <Category Id="Paket" />
  </Categories>
  <Styles>
    <Style TargetType="Node" GroupLabel="Projekt" ValueLabel="True">
      <Condition Expression="HasCategory('Projekt')" />
      <Setter Property="Background" Value="Blue" />
    </Style>
  </Styles>
</DirectedGraph>

Upvotes: 45

Views: 113942

Answers (6)

crthompson
crthompson

Reputation: 15865

In your Solution or Project you will find a file called packages.config. Open this file and you will see all the packages that NuGet has installed.

The file will look something like this:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Json" version="2.0.3" targetFramework="net45" />
</packages>

Simply delete the line of your package and save the file.

<?xml version="1.0" encoding="utf-8"?>
<packages>
</packages>

Then run NuGet again and it should install.

The JSON.NET NuGet package should just work with a Windows Phone 8.0 project. Adding it in VS2012 NuGet manager pulls in the WP7 version of JSON.NET. (packages\Newtonsoft.Json.4.5.10\lib\sl3-wp\Newtonsoft.Json.dll)

JSON.NET is now also available as a Portable Class Library which you can consume from WP8 (available in NuGet or in source form).

UPDATE:

The latest version of NuGet has an uninstall.

VS 2013:

In the solution, right click on References and Manage NuGet packages, you will find "Installed Packages" in the upper left hand corner. Select the package and an uninstall option will be available.

VS 2015:

In the solution, right click on References and Manage NuGet packages, find the "Installed" tab in the upper right. Hover over the package and the "X" will appear to uninstall.

VS 2017:

On the solution, right click and "Manage NuGet packages for solution", find the "Installed" tab in the upper left. Click on the package and in the right hand panel will be an "Uninstall" button.

VS 2019:

(Identical to 2017) On the solution, right click and "Manage NuGet packages for solution", find the "Installed" tab in the upper left. Click on the package and in the right hand panel will be an "Uninstall" button.

VS 2022:

(Identical to 2017 & 2019) On the solution, right click and "Manage NuGet packages for solution", find the "Installed" tab in the upper left. Click on the package and in the right hand panel will be an "Uninstall" button.

Upvotes: 66

Ogglas
Ogglas

Reputation: 69968

Just sat four hours on my new Windows 10 machine and couldn't figure out why no references worked in Visual Studio 2015 and why I could not restore NuGet packages. For some reason TFS added two packages folders:

Locations:

C:\Users\YourUser\Documents\Visual Studio 2015\Projects\YourProject\packages

C:\Users\YourUser\.nuget\packages

When both of the package folders were removed I could restore NuGet packages and everything worked again.

Upvotes: 8

pensono
pensono

Reputation: 326

I had a similar problem in VS2017 (fresh install). I was working with an older project trying to install a relatively new package. When I would install the package from the GUI, it flashed for a second, then did nothing.

The problem was that my project had a lower .NET target than the package. (My solution was targeting 4.5, and the package targeted 4.6). Changing the .NET target to a new enough version in my project configuration and rebuilding fixed the issue.

This issue can be seen by running the following commands: (Names changed)

PM> Install-Package Package.NET

Attempting to gather dependency information for package 'Package.NET.1.0.0' with respect to project 'MyProject', targeting '.NETFramework,Version=v4.5'
Gathering dependency information took 0.19 ms
Attempting to resolve dependencies for package 'Package.NET.1.0.0' with DependencyBehavior 'Lowest'
Resolving dependency information took 0 ms
Resolving actions to install package 'Package.NET.1.0.0'
Resolved actions to install package 'Package.NET.1.0.0'
Retrieving package 'Package.NET.1.0.0' from 'nuget.org'.
Install failed. Rolling back...
Package 'Package.NET.1.0.0' does not exist in project 'MyProject'
Package 'Package.NET.1.0.0' does not exist in folder 'C:\Code\MyProject\packages'
Executing nuget actions took 13.92 ms
Install-Package : Could not install package 'Package.NET.1.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.5', 
but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
At line:1 char:1
+ Install-Package Package.NET
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Upvotes: 0

Mina Fawzy
Mina Fawzy

Reputation: 21452

I tried this solution and its works

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
  <PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
  </PropertyGroup>
  <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>

Upvotes: 0

Guish
Guish

Reputation: 5160

I had the same problem. I wasn't able to re-install my package even after all the package.config modifications. Here what work for me.

In your solution folder there should be a "packages" directory. Open this directory and delete the directory associated with your package.

Done.

Upvotes: 27

Alex Paven
Alex Paven

Reputation: 5549

It is indeed a bit confusing, but there are different options available if you right-click the solution and choose manage nuget packages. You should be able to uninstall from there.

You should check the answer here: Windows Phone 8 JSON for more information on Json.net and WP8.

Upvotes: 1

Related Questions