首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混合PCL库和非PCL代码

混合PCL库和非PCL代码
EN

Stack Overflow用户
提问于 2016-05-09 10:22:53
回答 1查看 157关注 0票数 0

我没有找到类似的问题,让我们看看这是否成立:-)。

我想使用基于C#的PCL库,也适用于普通的windows x86 C#项目(而不是仅仅在跨平台(Xamarin)项目中使用它们)。

这样做的原因基本上是对遗留项目进行移植:我希望在未来的项目中切换到PCL代码,并在旧代码中使用新特性。可以想象,这些项目至少部分是为C#运行时的旧版本(即4.0)开发的。

我的问题是:我是否可以期望库的行为类似,这意味着如果我的基本单元测试通过,我是好的?还是有一些随机行为使得验证库的适当功能变得困难?我特别担心我读到的关于HttpClient代码的文章/问题,这些文章和问题出乎意料,但在不同的运行时版本(4.0-4.5)之间甚至没有一贯的错误。因此,团队将追逐无法复制的问题,并破坏支持团队周末:-P。

我不太确定这个问题是否容易理解,请告诉我这是否有意义。如果太让人困惑的话,我可以在人们提出建议之后再用它来表达.。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-09 10:35:34

在PCL的项目属性中,您可以检查.Net的哪个版本和要支持的平台。在后台,您选择geht的映射到一个可移植的子集配置文件,其中只有那些API是可用的,在所有选定的平台上都支持这些API。

(不过,PCLs并不是Xamarin特有的东西。)

在某些情况下,平台实现细节会泄露出去,例如使用计时器(它们甚至不包括在某些可移植子集中)。

您的单元测试可能会通过,一旦您注意到一些特定的问题,您仍然可以在那里添加额外的测试。

对于HttpClient,出于性能考虑,我建议注入一些特定于平台的客户端(比如现代)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37113323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档