【发布时间】:2014-12-04 13:40:35
【问题描述】:
我有一个便携式类库项目,目前针对以下平台:
- .NET Framework 4.5
- Windows 8
- Windows Phone Silverlight 8
我想添加对 .NET 4.0 的支持,但我目前使用一些 .NET 功能,这些功能仅通过包含“Microsoft BCL Portability Pack”在 .NET 4.0 中可用; CallerMemberName 属性、IProgress 接口和更新的 Task 类等功能。
有没有办法在 PCL 项目中为平台添加一些“条件”支持? IE。 “允许.NET 4.0,只要包含依赖XXXXX?”
【问题讨论】:
-
不,非常个不同的参考程序集。
-
不确定我是否完全关注你。但是,如果您让您的 PCL 无条件地以 .NET 4.0 为目标并引用 BCL Portability Pack,我认为您应该能够在 .NET 4.5 应用程序中安全地使用 PCL 库,因为 BCL 可移植性pack 会将特定目标上已经存在的类型的使用转发到该目标上的实际实现。
-
考虑到 .NET 4 将在大约 15 个月内死掉(2016 年 1 月 12 日生命周期结束),support2.microsoft.com/lifecycle/search/… 我觉得任何向它提供支持的尝试都是浪费。当微软发布 BCL Portability Pack 时,他们显然只关注了一些不包括 PCL 的计划。因此,请专注于您可以控制的内容,并建议您的客户尽快升级到 .NET 4.5.2,因为只有 15 个月的时间。
-
作为在工业领域工作的人,许多客户仍在使用 Windows XP(出于某种原因),我不得不不同意。尽管微软已经切断了对 Windows XP 的支持,但我仍然必须编写能够在其上运行的软件。 .NET 4.5 应用程序不能在 XP 上运行。然而,我仍然很喜欢 4.0 之后添加的一些功能。
标签: .net .net-4.0 .net-4.5 portable-class-library