Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';t卸载/重新安装NuGet软件包_C#_Visual Studio_Windows Phone 8_Nuget_Packages - Fatal编程技术网

C# Can';t卸载/重新安装NuGet软件包

C# Can';t卸载/重新安装NuGet软件包,c#,visual-studio,windows-phone-8,nuget,packages,C#,Visual Studio,Windows Phone 8,Nuget,Packages,我已经用Visual Studio Express 2012设置了我的项目,添加了一些C#代码,并成功地编译/部署到emulator。在某个时候,我决定用JSON做点什么,我发现我应该使用JSON.NET框架,这就是。我已经使用命令Install Package Newtonsoft.Json成功地添加了这个框架 我试图安装MSVC两天前提供的更新,但安装失败,使我无法再次打开我的项目。重新安装MSVC没有帮助,所以我最终将Windows恢复到以前的状态。我能够再次打开我的项目,我想重新安装Nu

我已经用Visual Studio Express 2012设置了我的项目,添加了一些C#代码,并成功地编译/部署到emulator。在某个时候,我决定用JSON做点什么,我发现我应该使用JSON.NET框架,这就是。我已经使用命令
Install Package Newtonsoft.Json
成功地添加了这个框架

我试图安装MSVC两天前提供的更新,但安装失败,使我无法再次打开我的项目。重新安装MSVC没有帮助,所以我最终将Windows恢复到以前的状态。我能够再次打开我的项目,我想重新安装NuGet软件包(不知道它安装在项目内部,而不是MSVC)。它在安装时给了我错误,所以我尝试从包控制台卸载所有东西

长话短说:

  • Nuget package console在
    Get package
  • 再次运行
    安装软件包Newtonsoft.Json
    时会出现错误 无法安装Newtonsoft.Json 5.0.6。您尝试在引用“WindowsPhone,Version=v8.0”的项目中安装此软件包,但该软件包不包含与此框架兼容的程序集

  • “Manage NuGet”软件包对话框在“installed”(已安装)下显示无软件包,但是在联机软件包中,json软件包被列出并标记为已安装(因此我无法尝试安装)
现在我完全迷路了。我不知道如何正确安装该软件包,也不知道如何正确删除它。我的项目文件坏了吗?我怎样才能修理它


[编辑] 现在它变得更加混乱。我刚刚更新了NuGet包管理器(但不是MSVC),并尝试重新安装Json.NET

  • 在对话框中,它仍然没有显示在“已安装”下
  • 在联机软件包列表中,它不再标记为已安装,但单击“安装”只会执行无操作
  • 控制台中的“获取软件包”显示已安装的软件包

    PM> Get-Package
    
    Id                             Version              Description/Release Notes                                                                                                                                                                                            
    --                             -------              -------------------------                                                                                                                                                                                            
    Newtonsoft.Json                5.0.6                Json.NET is a popular high-performance JSON framework for .NET
    
  • 尝试使用“卸载软件包Newtonsoft.Json”卸载时会出现“找不到软件包Newtonsoft.Json”

  • 在我的项目文件夹中,我可以在
    packages
    目录中看到“Newtonsoft.Json.5.0.6”子文件夹
我是否应该从头开始创建一个新项目/


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>

在您的解决方案或项目中,您将找到一个名为
packages.config
的文件。打开此文件,您将看到
NuGet
已安装的所有软件包

该文件将如下所示:

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

只需删除包中的行并保存文件

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

然后再次运行
NuGet
,它应该会安装

JSON.NET NuGet包应该只是。在VS2012 NuGet管理器中添加它会引入JSON.NET的WP7版本。(packages\Newtonsoft.JSON.4.5.10\lib\sl3 wp\Newtonsoft.JSON.dll)

JSON.NET现在还可以作为一个可移植类库使用,您可以从WP8中使用它(以NuGet或源代码形式提供)

更新:最新版本的NuGet已卸载

VS 2013:在解决方案中,右键单击引用并管理NuGet软件包,您将在左上角找到“已安装的软件包”。选择该软件包,将提供卸载选项

VS 2015:在解决方案中,右键单击引用并管理NuGet软件包,在右上角找到“Installed”(已安装)选项卡。将鼠标悬停在软件包上,“X”将显示为卸载

VS 2017:在解决方案上,右键单击并“管理解决方案的NuGet软件包”,在左上角找到“已安装”选项卡。单击软件包,右侧面板将显示“卸载”按钮


VS 2019:(与2017年相同)在解决方案上,右键单击并“管理解决方案的NuGet软件包”,在左上角找到“已安装”选项卡。单击软件包,右侧面板将显示“卸载”“按钮。

确实有点混乱,但是如果右键单击解决方案并选择“管理nuget软件包”,则有不同的选项可用。你应该可以从那里卸载


您应该在这里检查答案:有关Json.net和WP8的更多信息。

我也有同样的问题。即使在对package.config进行了所有修改之后,我也无法重新安装我的软件包。这是对我有用的东西

在您的解决方案文件夹中应该有一个“packages”目录。打开此目录并删除与包关联的目录


完成。

在我的新Windows 10计算机上只坐了四个小时,无法理解为什么Visual Studio 2015中没有引用,以及为什么我无法还原NuGet软件包。出于某些原因,TFS添加了两个软件包文件夹:

地点:

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

C:\Users\YourUser\.nuget\packages


当两个软件包文件夹都被删除后,我可以恢复NuGet软件包,一切都恢复正常。

我尝试了这个解决方案,并且效果良好

<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>

此项目引用此计算机上缺少的NuGet包。启用NuGet软件包还原以下载它们。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105. 缺少的文件是{0}。

我在VS2017(新安装)中遇到了类似的问题。我正在处理一个旧项目,试图安装一个相对较新的软件包。当我从GUI安装包时,它闪烁了一秒钟,然后什么也没做

问题是我的项目的.NET目标低于包。(我的解决方案针对的是4.5,而软件包针对的是4.6)在我的项目配置和reb中将.NET目标更改为足够新的版本
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