据我所知,可移植类库可以在许多平台上使用,这取决于库设计者选择支持的框架子集。
我注意到,通过NuGet提供的许多库也包括特定于平台的实现,我想知道这是为什么。
例如,Microsoft.Net.Http 包有很多变体,包括:
- Net 4.0 版本 - WinRT(Windows Store 应用)Windows 8 版本 - 支持 Net 4.0、WinRT 和其他平台的可移植类库
为什么需要分发单独的 .Net 4.0 或 WinRT 版本的库? 可移植类库不足以满足需求吗?
当我设计自己的自定义可移植类库时,应该遵循这种约定吗?
明确一点,我不是在谈论需要少量特定于平台的代码才能工作的可移植类库。这些通常有一个名字以 .PlatformServices 结尾的附带托管库。但我说的是由 NuGet 包分发的核心库。
我注意到,通过NuGet提供的许多库也包括特定于平台的实现,我想知道这是为什么。
例如,Microsoft.Net.Http 包有很多变体,包括:
- Net 4.0 版本 - WinRT(Windows Store 应用)Windows 8 版本 - 支持 Net 4.0、WinRT 和其他平台的可移植类库
为什么需要分发单独的 .Net 4.0 或 WinRT 版本的库? 可移植类库不足以满足需求吗?
当我设计自己的自定义可移植类库时,应该遵循这种约定吗?
明确一点,我不是在谈论需要少量特定于平台的代码才能工作的可移植类库。这些通常有一个名字以 .PlatformServices 结尾的附带托管库。但我说的是由 NuGet 包分发的核心库。