【不具合回避】MRTK vNext アルファ版の HoloLens 用ビルドを試してみる
※ これは 2018/08/18 Unity 2018.2.5f1、Mixed Reality Toolkit vNext Alpha v2018.7.0.0 時点の情報です
最新版では動作が異なる可能性がありますのでご注意ください
前回はアルファ版の次世代 Mixed Reality Toolkit で HoloLens にインストールしたところでエラー!
Windows cannot install package Microsoft.MixedReality.Toolkit_2018.0.11.0_x86__ph1m9x8skttmg because this package depends on a framework that could not be found. Provide the framework "Microsoft.VCLibs.140.00.Debug" published by "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x86 processor architecture and minimum version 14.0.26726.0, along with this package to install. The frameworks with name "Microsoft.VCLibs.140.00.Debug" currently installed are: {Microsoft.VCLibs.140.00.Debug_14.0.25830.2_x86__8wekyb3d8bbwe} Package failed updates, dependency or conflict validation. UnityEngine.Debug:LogError(Object) Microsoft.MixedReality.Toolkit.Internal.Utilities.WindowsDevicePortal.<GetInstallStatusAsync>c__asyncB:MoveNext() (at Assets/MixedRealityToolkit/_Core/Utilities/WindowsDevicePortal/DevicePortal.cs:468) System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetResult(Response) Microsoft.MixedReality.Toolkit.Internal.Utilities.WebRequestRest.<GetAsync>c__async0:MoveNext() (at Assets/MixedRealityToolkit/_Core/Utilities/WebRequestRest/Rest.cs:66) System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1:SetResult(Response) Microsoft.MixedReality.Toolkit.Internal.Utilities.WebRequestRest.<ProcessRequestAsync>c__async8:MoveNext() (at Assets/MixedRealityToolkit/_Core/Utilities/WebRequestRest/Rest.cs:246) System.Runtime.CompilerServices.MoveNextRunner:Run() Microsoft.MixedReality.Toolkit.Internal.Utilities.Async.AwaiterExtensions:RunOnUnityScheduler(Action) (at Assets/MixedRealityToolkit/_Core/Utilities/AsyncUtility/AwaiterExtensions.cs:151) Microsoft.MixedReality.Toolkit.Internal.Utilities.Async.SimpleCoroutineAwaiter`1:Complete(AsyncOperation, Exception) (at Assets/MixedRealityToolkit/_Core/Utilities/AsyncUtility/AwaiterExtensions.cs:195) Microsoft.MixedReality.Toolkit.Internal.Utilities.Async.<ReturnSelf>c__Iterator2`1:MoveNext() (at Assets/MixedRealityToolkit/_Core/Utilities/AsyncUtility/AwaiterExtensions.cs:387) UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
これを何とかしたい
なんか HoloLens に必要なフレームワーク VCLibs が入ってない的なエラーメッセージ
because this package depends on a framework that could not be found. Provide the framework "Microsoft.VCLibs.140.00.Debug"
とりあえず Unity 2018.2.5f1 が出ていたのでアップデートして再度ビルドからやり直し
D:\1_Tools\VisualStudio\2017\MSBuild\Microsoft\VisualStudio\v15.0\AppxPackage\Microsoft.AppXPackage.Targets(2753,5): error APPX0702: �y�C���[�h �t�@�C�� 'D:\2_Documents\2_Sources\MRSamples\vNextAlpha\UWP\MixedRealityToolkit\Assets\SplashScreen.png' �����݂��܂���B [D:\2_Documents\2_Sources\MRSamples\vNextAlpha\UWP\MixedRealityToolkit\MixedRealityToolkit.vcxproj] UnityEngine.Debug:Log(Object) Microsoft.MixedReality.Toolkit.Internal.Extensions.<StartProcessAsync>c__AnonStorey3:<>m__2(Object, DataReceivedEventArgs) (at Assets/MixedRealityToolkit/_Core/Extensions/ProcessExtensions.cs:87) System.Threading._ThreadPoolWaitCallback:PerformWaitCallback()
おーい!今度はこの時点でエラーだよー!
スプラッシュスクリーン画像がないとか・・・なんでこんなエラーになるのか?!
MRTK の Issue 見に行ったら中の人のコメントが
え・・・と思いつつも UnityEditor の Build Window、Unity Build Options タブから「Open in Visual Studio」ボタンを押下
Visual Studio を開いたら Mixed Reality Toolkit のプロジェクト内、Assets/SplashScreen.scale-200.png を SplashScreen.png に改名
そして ビルドプラットフォームを x86、配置先を Device にして F5 実行!
すると配置エラーが起こらず、「不足していたフレームワークをインストールしています...」のログが!
しばらくそのまま待っていると、今度こそ HoloLens 実機で起動できたー!
なんとなーく Unity 側が悪そうではありますが、こういう不具合が起きないように MRTK チームと Unity 側で密に連携をとってもらいたいですね・・・