如何仅针对特定平台下载NuGet包?

5

我最近在我的解决方案中添加了NLog,我注意到packages\NLog.4.4.12\lib目录包含以下目录。

  • MonoAndroid10
  • net35
  • net40
  • net45
  • sl4
  • sl5
  • wp8
  • Xamarin.iOS10

我的项目只针对 .net 4.0 和 .net 4.5。我该如何摆脱其余的版本?我在 VS 2017 的 NuGet 包管理器中搜索,但没有找到明显的东西。


据我所知,目前没有这样的解决方案,但如果您能说明想要“摆脱其余部分”的原因,可能会有其他解决方案适用于您的问题。 - phuzi
@phuzi 我认为这很明显,我想减小我的代码库的占用空间,即减少 9MB(无用)的大小。 - Stelios Adamantidis
理想情况下,您不应该将“packages”文件夹的内容提交到源代码控制中,因为它们可以随时检索,并且它们不是源代码。这样可以使您的存储库更小。 - phuzi
@phuzi 这个问题已经被问过了,答案是“是和不是”。更准确地说,这是“品味的问题”。 - Stelios Adamantidis
如果您关心存储库的大小,那么我认为答案是肯定的。 - phuzi
1个回答

1
我手动删除了我不需要的平台目录。我使用VS 2017打开了解决方案,没有出现任何问题。我重新构建了解决方案,仍然没有投诉。我重新加载了使用NLog的项目,一切都很好。我打开了包管理器,它也没有抱怨。在所有情况下,目录没有重新出现。
唯一的小问题是,在包管理器控制台中运行Update-Package不会恢复之前的状态。但由于我不关心将来支持其他平台,所以我没有费心找到解决方案。
虽然这不能称为科学解决方案,但比没有好,现在就是一个答案。

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