【发布时间】:2013-09-08 22:25:01
【问题描述】:
我已经使用 Visual Studio Express 2012 设置了我的项目,添加了一些 C# 代码,并成功编译/部署到模拟器。在某个时候,我决定用 JSON 做一些事情,我发现我应该使用 Json.NET 框架,即available as a NuGet package。我已经使用命令Install-Package Newtonsoft.Json成功添加了这个框架。
我尝试安装两天前 MSVC 提供的更新,但安装失败,导致我无法再次打开我的项目。重新安装 MSVC 没有帮助,所以我最终将 Windows 恢复到以前的状态。我能够再次打开我的项目,我想重新安装 NuGet 包(不知道它安装在项目中,不是 MSVC)。它在安装时给了我错误,所以我尝试从包控制台卸载所有内容。
长话短说:
- Nuget 包控制台在
Get-Package时显示“未安装包” - 再次运行
Install-Package Newtonsoft.Json时出现错误无法安装 Newtonsoft.Json 5.0.6。您尝试在引用“WindowsPhone,Version=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 包管理器窗口重新安装它。你的第二个要点让我有点怀疑...... -
那么,您之前使用过包管理器吗?现在你安装了 NuGet?您可以尝试进入包管理器并从那里卸载。 (工具 -> 库包管理器)
-
如上所述,我无法从那里卸载,因为它没有被列为已安装。搞笑:我刚刚创建了一个普通的新项目,通过 NuGet 添加了包,现在我的项目文件夹中还有一个 packages.config 文件,但没有 Packages.dgml。我想我要重新开始了。仍然感谢您的帮助。
-
我更新了我的答案以反映 NuGet 现在有卸载的事实。
标签: c# visual-studio windows-phone-8 nuget packages