我正在开发一个针对Windows 8.1(Windows应用商店应用)和Windows Phone 8的项目。需要一个库来创建和接收TCP / UDP数据包。
我有一段代码适用于每一个,WP8和Windows 8.1(使用完全相同的代码)。但是,当我想将这些代码放在一个可移植的类库中时,突然之间肯定不再使用指令:
using Windows.Networking;
using Windows.Networking.Connectivity;
using Windows.Networking.Sockets;
我知道PCL只有在框架之间重叠的功能集,但是因为这些指令在Windows 8.1类库和WP8库中工作,我的印象是我应该可以创建一个PCL
我错在哪里?如果真的没有办法将这些组合到PCL中,如何在不保留/维护每个目标的重复代码的情况下解决此问题?
答案 0 :(得分:2)
这些是WinLT API,PCL目前不支持这些API。您可以在此处投票赞成此功能:http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/4443287-make-winrt-api-usable-in-portable-class-libraries-
您现在的主要选择是放弃PCL,或者为此功能创建可移植的抽象,并为每个平台创建一个实现(在这种情况下,每个平台的代码都是相同的,可以通过链接文件共享)。