混合 PCL 库和非 PCL 代码
Mixing PCL libraries and non-PCL code
我没有找到类似的问题,让我们看看是否成立:-)。
我想在 "normal" 又名普通 windows x86 C# 项目中使用基于 C# 的 PCL 库(而不是仅在跨平台 (Xamarin) 项目中使用它们)。
这样做的原因基本上是遗留项目的反向移植:我想为未来的项目切换到 PCL 代码,并在旧代码中使用新功能。可以想象,这些项目至少部分是为旧版本的 C# 运行时(即 4.0)开发的。
我的问题是:我是否可以期望库的行为相似,这意味着如果我的基本单元测试通过,我就可以开始了吗?或者是否存在随机行为导致难以验证库的正常运行?我特别担心 articles/questions 我读到的 HttpClient 代码行为异常,但在各种运行时版本 (4.0 - 4.5) 中甚至不会一直出错。因此,团队将追逐无法重现的问题并破坏支持团队的周末:-P.
我不太确定这个问题是否各方面都容易理解,如果有道理请告诉我。如果它太令人困惑,我可能会在人们提出建议后重新措辞......
在你的项目属性中PCL,你可以查看.Net的版本和你想要支持的平台。
在后台,您选择 geht 向下映射到一个可移植的子集配置文件,其中只有那些 API 可用,并且在您选择的所有平台上都受支持。
(PCLs 不是 Xamarin 特定的东西。)
在某些情况下,平台实现细节会泄露,例如计时器(它们甚至不包含在某些可移植子集中)。
您的单元测试可能会通过,一旦您注意到一些具体问题,您仍然可以在那里添加额外的测试。
对于 HttpClient,出于性能原因,我建议无论如何都要注入一些特定于平台的客户端(例如 modernhttpclient)。
我没有找到类似的问题,让我们看看是否成立:-)。
我想在 "normal" 又名普通 windows x86 C# 项目中使用基于 C# 的 PCL 库(而不是仅在跨平台 (Xamarin) 项目中使用它们)。
这样做的原因基本上是遗留项目的反向移植:我想为未来的项目切换到 PCL 代码,并在旧代码中使用新功能。可以想象,这些项目至少部分是为旧版本的 C# 运行时(即 4.0)开发的。
我的问题是:我是否可以期望库的行为相似,这意味着如果我的基本单元测试通过,我就可以开始了吗?或者是否存在随机行为导致难以验证库的正常运行?我特别担心 articles/questions 我读到的 HttpClient 代码行为异常,但在各种运行时版本 (4.0 - 4.5) 中甚至不会一直出错。因此,团队将追逐无法重现的问题并破坏支持团队的周末:-P.
我不太确定这个问题是否各方面都容易理解,如果有道理请告诉我。如果它太令人困惑,我可能会在人们提出建议后重新措辞......
在你的项目属性中PCL,你可以查看.Net的版本和你想要支持的平台。 在后台,您选择 geht 向下映射到一个可移植的子集配置文件,其中只有那些 API 可用,并且在您选择的所有平台上都受支持。
(PCLs 不是 Xamarin 特定的东西。)
在某些情况下,平台实现细节会泄露,例如计时器(它们甚至不包含在某些可移植子集中)。
您的单元测试可能会通过,一旦您注意到一些具体问题,您仍然可以在那里添加额外的测试。
对于 HttpClient,出于性能原因,我建议无论如何都要注入一些特定于平台的客户端(例如 modernhttpclient)。