在Windows通用共享项目中添加NuGet引用

20

我正在尝试制作一款通用应用程序(Windows 8.1和Windows Phone 8.1),需要使用Json.NET库反序列化Json数据。

但是我不能在共享项目中添加NuGet或dll引用,只能在Windows 8.1和Windows Phone 8.1项目中进行添加。我需要将它添加到共享项目中以防止代码重复。

我使用的是Visual Studio 2013.2 Final

右键单击没有提供管理Nuget包选项,项目选项卡中也没有“添加引用”项

如何解决这个问题?


我需要在库包中使用Json.Net,以便在我的Windows Phone 8.1和Windows 8.1应用程序中使用自定义HttpClient进行Json反序列化。这是生成的共享项目(创建新项目> Windows Store应用程序>空应用程序(通用))。 - alvinmeimoun
没错,但这与向共享项目添加引用有什么关系? - Jon Skeet
为了在共享项目中使用,我需要将库链接到它。如果我将其链接到 Windows Phone 项目,则只能在 Windows Phone 项目中使用该库,而不能在共享项目中使用。 - alvinmeimoun
“Shared”项目在通用应用程序中不能包含引用或NuGet软件包。要在“Shared”项目中使用NuGet软件包,您需要将DLL或NuGet软件包添加到所有引用“Shared”项目的项目中(目前仅为Windows和Windows Phone项目,很快也会有Xbox),然后您就可以在“Shared”项目中使用它了。 - Mikael Dúi Bolinder
这个问题应该重新开放,因为它所包含的信息已经足够回答问题了(我在阅读完之后就知道了答案,而且正是被接受的答案所说的)。 - Andy
显示剩余5条评论
1个回答

20

通用共享项目不需要任何引用/包。其概念是“添加为链接”选项的简化和泛化。您可以尝试在Win8和WP8项目中安装该包(我建议使用PCL),这可能会起作用,因为共享项目使用Windows Store API而无需链接。


1
将Json.Net添加到Windows 8.1和Windows Phone 8.1项目中,成功了!谢谢!! - alvinmeimoun
这是正确的;共享项目不会生成程序集,而只是一个包含 Add as Link 文件的容器(因此您无需在想要这样做的所有项目中每个新文件都保留 Add as Link,而是将其添加到此新项目类型中)。 - Andy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接