我在Unity for Hololens中创建了一个UWP应用程序,并使用Tasks(System.Threading.Tasks)在Assets中添加了一个类。该类的代码由以下编译指令包围:
#if WINDOWS_UWP
....在这里编码
#endif
因为它只需要在设备上工作即可。
我已在Hololens上成功部署了该应用程序。
但是,当我尝试将类移动到外部dll中时,在Visual Studio中生成了一个编译类库(通用Windows)项目,并在Unity中引用了它,编译时出现以下错误:
...类型“任务<>”声称它是在“ System.Runtime”中定义的,但找不到。
似乎它没有使用System.Threading.Tasks,但是它尝试使用System.Runtime中定义的Task类。
为什么只有当该类位于外部dll中并且当该类直接位于资产文件夹中时我才能工作时,这种情况才会发生?
由于我需要外部dll中的代码,我该如何解决?
答案 0 :(得分:0)
问题出在UWP库的最小SDK版本中。
默认情况下,Unity在构建UWP应用程序时使用 Windows 10(10.0; Build 10240),而UWP库的最低版本为 Windows 10 Creators Update(10.0; Build 15063)< / em>。
在Visual Studio中将UWP类库的SDK最低版本设置为 Windows 10(10.0; Build 10240),然后在Unity中重新导入dll,解决了我的问题。