我为HoloLens制作了UWP应用程序,并在资产中添加了使用任务(System.Threading.Tasks)的类。该类的代码被编译指令包围,如下:
#if windows_uwp
....代码在这里
#endif
因为它只需要在设备上工作。
我成功地部署了该应用程序。
但是,当我尝试在外部DLL中移动课程时,在Visual Studio中生成了类库(Universal Windows)项目,并以Unity进行引用,当编译时,我会收到以下错误:
...键入'task<>'声称它是在'system.runtime'中定义的,但找不到。
看来它不使用system.threading.tasks,而是尝试使用System.Runtime中定义的任务类。
为什么只有当类在外部DLL中,并且当类直接在资产文件夹中时,才会发生这种情况?
由于我需要在外部DLL中使用代码?
问题在UWP库的 minimun SDK版本中。
默认情况下,Unity使用 Windows 10(10.0; build 10240)在构建UWP应用程序时,UWP库的最小版本是 Windows 10创建者更新(10.0; build 15063)。
在Visual Studio中设置UWP类库的SDK最低版本至 Windows 10(10.0; build build 10240) ,并重新集成了DLL,并解决了我的问题。