我已经使用Visual Studio Express 2012设置了我的项目,添加了一些C#代码,并成功编译/部署到模拟器。某个时候我决定要使用JSON做一些事情,然后发现应该使用Json.NET框架,它是作为NuGet包提供的。我已经使用命令Install-Package Newtonsoft.Json
成功地添加了这个框架。
两天前,我尝试安装MSVC提供的更新,但安装失败,导致我无法再次打开我的项目。重新安装MSVC也没有帮助,所以我最终恢复了Windows到之前的状态。我能够再次打开我的项目,并且想要重新安装NuGet包(不知道它已经安装在项目中,而不是MSVC)。安装过程中出现错误,因此我尝试从包控制台卸载所有内容。
长话短说:
- Nuget包控制台在
Get-Package
时显示“未安装任何包” - 再次运行
Install-Package Newtonsoft.Json
会给我一个错误:无法安装Newtonsoft.Json 5.0.6。您正在尝试在一个引用“WindowsPhone,版本=v8.0”的项目中安装此包,但该包不包含与此框架兼容的程序集
- “管理NuGet”包对话框在“已安装”下面没有任何包,但在线包中,json包被标记为已安装(因此我无法尝试安装它)
现在我完全迷失了。我不知道如何正确地安装包,也不知道如何正确地删除它。我的项目文件是坏的吗?我该如何修复它?
[编辑] 现在变得更加混乱了。我刚刚更新了NuGet包管理器(但没有更新MSVC),并尝试重新安装Json.NET。
- 在对话框中仍未显示在“已安装”下面
- 在在线包列表中不再标记为已安装,但单击“安装”按钮就什么都不会发生
控制台中的
Get-Package
显示该包已安装
PM> Get-Package
Id Version Description/Release Notes
-- ------- -------------------------
Newtonsoft.Json 5.0.6 Json.NET is a popular high-performance JSON framework for .NET
试图使用`Uninstall-Package 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
文件并删除Newtonsoft.Json
条目,这应该可以解决你的第三个问题。然后也许你就可以从NuGet包管理器窗口重新安装它了。不过你的第二个问题让我有些怀疑... - Patryk Ćwiek