我的理解是,可移植类库可以在许多平台上使用,这取决于库的设计者选择支持的框架的子集。为什么一些NuGet软件包提供便携式库和平台特定软件包?
我注意到许多通过NuGet可用的库还包括一个特定于平台的实现,并想知道需要什么。
例如,Microsoft.Net.Http包附带了许多变化,包括:
- 网4.0版本
- 的WinRT(Windows应用商店的应用程序)的Windows 8版本
- 便携式类库支持.NET 4.0,WinRT中和其他
为什么需要分发独立的.Net 4.0或WinRT版本的库? 便携式类库不够吗?
当我设计我自己的定制便携式库时,我应该遵守这个约定吗?
需要说明的是,我不是在谈论需要平台特定代码的一小部分才能工作的便携式类库。那些通常有一个随附的托管库,其名称以.PlatformServices结尾。但我正在谈论由NuGet包分发的核心库。