随着 Portable Class Library 的推出,开发人员可以发布一个跨多个平台兼容的库。不利的一面是 PCL 必须将自身缩减为在所有指定平台上兼容的最低通用类集。
如果您想发挥特定平台的优势和功能,(或者如果您想访问仅存在于某些平台中的类),我假设您必须执行以下操作之一:
我的问题是:只有这两个选择吗?有没有明显“更好”的选择?
最佳答案
退房http://blogs.msdn.com/b/rxteam/archive/2012/03/12/reactive-extensions-v2-0-beta-available-now.aspx特别是“迈向可移植图书馆世界”部分。 Rx 针对许多不同的运行时,因此它是一个很好的示例用例。他们通常会按照您的建议作为选项 1,并使用 NuGet 来管理大量分发。
NuGet 2.1 正在进行更改以帮助完成这项工作:http://nuget.codeplex.com/discussions/391121
您的第二个建议是 MVVM light 如何根据 http://blogs.msdn.com/b/dsplaisted/archive/2012/08/27/how-to-make-portable-class-libraries-work-for-you.aspx除了没有理由将所有程序集命名为相同。
我不确定是否有可靠或有用的替代方案。
关于.net - 可移植类库与特定于平台的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12645626/