【问题标题】:Reference a PCL's dependencies from a console application从控制台应用程序引用 PCL 的依赖项
【发布时间】: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


【解决方案1】:

README 页面中的示例是特定于 UWP 的,但库本身应该适用于您的 .NET Framework 应用程序。

PCL 配置文件为 151,这意味着该库可以针对 .NET Framework 4.5.1 及更高版本、Windows Phone(非 Silverlight)8.1、Windows 8.1、UWP 和 Xamarin 应用程序。

如果您正在为.NET Framework 开发,您应该可以使用Socket 类或与LIFX.Lib 对应的类。另请注意,存储库包含一个控制台应用程序,该应用程序应该是特定于 .NET Framework 的。此示例应为您提供有关如何在 .NET Framework 中使用 LIFX.Lib 的更多详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多