我如何知道平台项目是否还需要NuGet包

时间:2016-09-29 19:34:15

标签: nuget nuget-package

在我的解决方案中,我有一个PCL项目和另外两个项目,每个项目都针对不同的平台。

有时PCL中使用的NuGet包也需要将它安装到平台项目中,否则会在运行时崩溃。

当我安装NuGet软件包时,如果还需要将它安装到平台项目中呢?

例如,我不清楚Microsoft.Net.Http是否还需要在Xamarin Android项目中安装。这只是一个例子。

或者,我不知道SQLite.Net-PCL是否要求它也安装在平台项目上。

1 个答案:

答案 0 :(得分:1)

你可以做的事情:

  • 阅读NuGet包作者提供的文档。无论是从项目网站还是在NuGet包的描述中。
  • 使用您最喜欢的搜索引擎获取如何使用该NuGet包的示例。
  • 如果有多个以平台命名的NuGet软件包,那么可以让您了解PCL NuGet软件包可能无法在特定于平台的项目中运行。
  • 使用Windows上提供的NuGet Package Explorer等内容查看NuGet包。如果NuGet包具有特定于平台的lib目录以及PCL目录,那么它将需要安装在特定于平台的项目中。
  • 运行您的应用程序,看它是否有效。

以Microsoft.Net.Http为例。文档并没有明确说明。如果您在互联网上搜索,您可以找到一两篇博文,提到您必须将其安装到您的平台特定项目中。

如果查看Microsoft.Net.Http NuGet包,可以看到它有几个lib目录:

Microsoft.Net.Http NuGet Lib directories

有特定于平台的目录,例如MonoAndroid和Xamarin.iOS10以及PCL目录,例如portable-net45 + win8。这表明你应该将它安装到你的所有项目中。