我正在使用Unity和Hololens,并尝试通过MQTT协议建立与Azure Iot Hub的连接。 Microsoft提供a tutorial for getting started with Azure IoT Hub in C#,但不幸的是,我遇到了教程的问题:
在上图中,我选择了Microsoft.Azure.Device NuGet包进行安装。我已经尝试了1.0.0版本以及最新版本1.2.4。这些项目是由Unity自动生成的,这可能是我遇到此问题的原因。哪个问题?我尝试安装选定的NuGet后,遇到以下错误:
无法安装软件包'Microsoft.Azure.Devices 1.2.4'。你是 尝试将此软件包安装到目标项目中 '.NETFramework,Version = v3.5,Profile = Unity Full v3.5',但是包 不包含任何程序集引用或内容文件 与该框架兼容。有关更多信息,请联系 包裹作者。
我当时想,“嗯,我必须有错误的.NET框架版本。我想知道我是否可以改变它...”我试图去像这样的项目属性
Microsoft建议从属性上下文菜单项更改.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包?
答案 0 :(得分:0)
很抱歉,由于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/