【发布时间】:2016-12-05 23:54:08
【问题描述】:
我正在尝试通过 LAN 与一些 LIFX 灯泡通信。
他们使用自己的协议,而不是重新发明轮子,我决定利用@987654321@。这似乎是最完整的选择。
问题是,它是一个 PCL 库,我在引用适当的类型来调用方法时遇到问题。
examples 依赖于 DatagramSocket,它似乎是 Windows.Networking.Sockets 命名空间的一部分。据我所知,它只是框架的“通用应用程序”部分。我找不到任何方法从我的控制台应用程序中引用它。我在网上找到的少数文档只是声称它不需要特定的参考,并且是核心框架的一部分。
我尝试启动一个通用类库,但无法加载 nuget 包(不支持目标)
我的印象是 PCL 只能包含对所有支持平台上可用库的引用,所以我有点困惑为什么这不起作用。
我是否误解了 PCL 的工作原理,或者是否有明显的方法可以解决这个问题?如果做不到这一点,是否有人知道另一个具有类似功能的库?
编辑:抱歉,我应该提一下:
.Net 4.6.1 / C# / VS2015 更新 3 / Win 10
【问题讨论】:
-
它使用特定于 Xamarin Studio 4.1 版的配置文件。会出什么问题? GitHub 正在变成下一个 Codeproject.com,需要 Only Works on My Machine 标签。
-
@HansPassant 我不会反对你。我假设您不知道从控制台应用程序引用 DatagramSocket 类型的任何方法?我不介意在“标准”DLL 中重新打包代码,但我面临着同样的问题,无法找到/添加适当的参考
-
README 页面中的示例是特定于 UWP 的,没错,但库本身应该适用于您的 .NET Framework 应用程序。只需在您自己的应用程序中使用
Socket类或相应的类而不是DatagramSocket。而且,存储库附带一个控制台应用程序,它应该是特定于 .NET Framework 的。仔细看看这个应用程序而不是 README 示例。 -
@AndersGustafsson 感谢您的帮助,我使用的是 nuget 包,所以没有看到源代码。还有,小世界……我上周在恩雪平。无论如何,如果您愿意发布作为答案,我会接受。
-
确实是小世界:-) 我会尽快发布答案。谢谢!
标签: c# .net udp portable-class-library lifx