我在nuget上发布了一个以.NET Framework 4.5为目标的库
解决方案如下:
Solution
└─ Project.Net45
nuget包看起来像:
─lib
└─net45
我想添加一个可移植的类库,因此我将解决方案修改为:
Solution
└─ Project.Net45
└─ Project.Pcl (Targets Windows Store Apps and Windows Phone 8)
我必须修改可移植类库中的代码,以解决与这些目标不兼容的问题,例如serializable属性和Thread.Sleep。
问题是可移植类库会自动设置为以.NET Framework 4.5为目标,并显示以下消息:
“将自动选择以下框架,因为它们 支持可移植的所有可用功能 您选择的其他框架:.NET Framework 4.5和 较高的”。
和nuget包现在看起来像:
─lib
└─net45
└─portable-net45+wp80+win
如果我将这个nuget包安装到面向.NET Framework 4.5的库中,我宁愿使用net45库而不是可移植类库,因为net45库较小并且没有工作所需的所有额外代码围绕Windows Phone 8中缺少的功能等。)
将nuget包更改为下面的结构会产生预期的效果:
─lib
└─net45
└─portable-wp80+win
或者我误解了便携式类库的用法?