我最近发布了一个针对PCL的NuGet包(仅限),并依赖于Microsoft.Bcl.Async,Microsoft.Net.Http和PCLStorage。为了论证,让我们假设最大的潜在用户群体的目标是.NET 4.5(可能是有效的),它本身支持所有这3个依赖项提供的功能。因此,这些用户实际上被迫下载并安装不必要的软件包。
我一直无法找到Microsoft或其他地方的具体指导,除了在NuGet包中的PCL版本之外,何时或是否适合引入特定于平台的版本。有具体的指导或经验法则吗?虽然PCL只能实现最大的可移植性并减轻一些开发难题,但为了给少数人提供最大程度的可移植性,强制不必要的图书馆被认为是不好的做法吗?