如何为 Unity 安装 Microsoft.Azure.Devices NuGet 包?

How to install Microsoft.Azure.Devices NuGet package for Unity?

我正在使用 Unity 和 Hololens,并尝试通过 MQTT 协议建立与 Azure Iot Hub 的连接。微软提供了a tutorial for getting started with Azure IoT Hub in C#,可惜我在教程中遇到了问题:

在上图中,我选择了Microsoft.Azure.DeviceNuGet包进行安装。我试过 1.0.0 版和最新的 1.2.4 版。这些项目是由 Unity 自动生成的,这可能就是我遇到这个问题的原因。哪个问题?我尝试安装选定的 NuGet 后,遇到以下错误:

Could not install package 'Microsoft.Azure.Devices 1.2.4'. You are trying to install this package into a project that targets '.NETFramework,Version=v3.5,Profile=Unity Full v3.5', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

我当时想,"Hmm, I must have wrong .NET framework version. I wonder if I can change that..."我试过像这样进入项目属性

Microsoft 建议从 Properties 上下文菜单项更改 .NET 框架: https://technet.microsoft.com/fi-fi/library/bb772098(v=vs.90).aspx (4.24.2017) https://msdn.microsoft.com/en-us/library/bb398202(v=vs.100).aspx (4.24.2017)

不过,这个功能一定是被什么东西挡住了,因为本该打开的视图会闪烁白色,然后立即消失。我想 Unity 不喜欢人们修改项目属性,但我还能做什么?需要解决不兼容的 .NET 框架问题,以便安装 NuGet 包,但我该怎么做?

简而言之,如何为 Unity 安装 Microsoft.Azure.Devices NuGet 包?

抱歉,由于 Unity 对 .net 3.5 的限制,这是不可能的。

确切地说,他们使用自定义版本的 mono-2。


您可以尝试 Unity 5.6 中的新 (experimental) .net 4.6 设置。

https://forum.unity3d.com/threads/upgraded-mono-net-in-editor-on-5-5-0b4.433541/