HoloLens関連エラー集
遭遇エラーが増えてきたので別途まとめることにしました。
HoloLensはエミュレータを使わないとしても、Unity -> Visual Studioと2ステップを挟むのでどちらの問題かわからなくて泥沼にはまることがあります。
以下ではどちらの画面上でエラーが発生するかで区分けしていますが、必ずしもエラーを吐いたソフトウェアの方が原因とは限りません。
とりあえず最新版使っとけば大丈夫でしょ、と安易にインストールすると時間を浪費する羽目になるので、動作が保証されているバージョンを使いましょう(自戒)。
極力エラーメッセージをテキストに起こしおくので検索してみてください。
HoloLens全般のまとめはこちらに。
目次
Visual Studio
HoloLensエミュレータは結構よくわからない理由でこけます。
リトライすると通ったりします。
ダメな時も一回VS落としてやり直すと通ります。
エミュレータでデバッグを実行したままUnity側の変更を適用して再度デバッグを行うと発生
Windows ストア アプリ ‘アプリ名’をアクティブにできません。アクティベーション要求がエラー’操作はサポートされていません。不明なエラー: 0x87b20c15’で失敗しました。
Unityでアプリに変更を加えて、VSでソリューションを再読み込み、エミュレータが起動したままデバッグを実行すると出てくる。
ヘルプのリンク先は解決の助けにならず。
- Microsoft | Developer Network デバッガー アプリケーション アクティブ化エラーの診断
なぜかもう一度デバッグを実行すると問題なく起動する。
処理が追い付いていないときに発生?
書いてあるまんまですね。いったんVSから再起動すれば大体大丈夫です。
???
よくわからない。VS再起動で対応。
D3D11: Failed to create render texture secondary RTV (error 0x887a0005) (Filename: C:\buildslave\unity\build\Runtime/GfxDevice/d3d11/RenderTextureD3D11.cpp Line: 372) プログラム '[4092] Swampdog.exe' はコード -1073741819 (0xc0000005) 'Access violation' で終了しました。
???
HoloLensエミュレータが実行できなくなっていた。
エミュレータを起動すると以下のエラー。
一応起動はするが、方向キーで操作できず。
VS側では以下のエラーメッセージ。
DEP6100: ブートストラップ ステージ ‘デバイス ‘C0E5F7CA-3595-E167-7DFE-3D367F6E3B3E’ に接続しています。’ 中に次の予期しないエラーが発生しました: ObjectDisposedException – 破棄されたオブジェクトにアクセスできません。オブジェクト名 ‘XdeServiceClient10_0’ です。 [0x80131622]
考えられる原因は、
- Unityのパッチを当てた
- ネットワークの設定をいじった時になんかHyper-Vなんちゃらを無効にした
依然作ったslnファイルでも同様のエラーが出たのでおそらく後者と予測。
HoloLensエミュレータの再インストール。ダメ。
Visual Studioの再インストール。
非常に手間がかかる。以下を参考にした。
それでも「C:\Program Files (x86)\Microsoft Visual Studio\2017」フォルダが空にならない。
強制的に削除しようとしてもこれ(管理者なのに)。
コンパネからVisual C++もすべてアンインストール。
それでも消えず。rm -rfさせてくれ(似たようなコマンドを打つが、permission denied)。
調査中。。。
- Mike Taulty | HoloLens Emulator and ‘The emulator is unable to connect to the device operating system’
CS0006
Visual Studioでエミュレータなり、実機なりにデプロイしようとすると発生します。
Assembly-CSharp.dllやAssembly-Csharp-firstpass.dllが見つからないといわれます。
エラーメッセージ
メタデータ ファイル ‘C:\Users\roy29\Desktop\HolographicAcademy-Holograms-101\Origami\App\GeneratedProjects\UWP\Assembly-CSharp-firstpass\bin\x86\Release\Assembly-CSharp-firstpass.dll’ が見つかりませんでした。
エラー画面
出力タブはこんな感じ。
NuGet パッケージを復元しています…
NuGet がビルド中にパッケージを復元しないようにするには、Visual Studio の [オプション] ダイアログ ボックスを開き、[パッケージ マネージャー] ノードをクリックして、[ビルド中に足りないパッケージをダウンロードすることを NuGet に許可] チェック ボックスをオフにします。
1>—— ビルド開始: プロジェクト: Assembly-CSharp-firstpass, 構成: Debug x86 ——
1> Running SerializationWeaver…
1> System.Collections.Generic.KeyNotFoundException: 指定されたキーはディレクトリ内に存在しませんでした。
1> 場所 System.ThrowHelper.ThrowKeyNotFoundException()
1> 場所 System.Collections.Generic.Dictionary`2.get_Item(TKey key)
1> 場所 UnityEditor.Scripting.Compilers.NuGetPackageResolver.Resolve()
1> 場所 Unity.NuGetAssemblyResolver..ctor(String projectLockFile)
1> 場所 usw.Weaver.ReaderParameters(String assemblyPath, ConversionOptions options)
1> 場所 usw.Weaver.Weave()
1> 場所 usw.Program.RunProgram(ConversionOptions options)
1> 場所 usw.Program.Main(String[] args)
1>C:\Users\roy29\Desktop\hoge\GeneratedProjects\UWP\Assembly-CSharp-firstpass\Assembly-CSharp-firstpass.csproj(192,5): error MSB3073: コマンド “”C:\Users\roy29\Desktop\hoge\Unity\Tools\SerializationWeaver\SerializationWeaver.exe” “C:\Users\roy29\Desktop\hoge\GeneratedProjects\UWP\Assembly-CSharp-firstpass\bin\x86\Debug\Unprocessed\Assembly-CSharp-firstpass.dll” “-pdb” “-verbose” “-unity-engine=C:\Users\roy29\Desktop\hoge\Origami\Unprocessed\UnityEngine.dll” “C:\Users\roy29\Desktop\hoge\GeneratedProjects\UWP\Assembly-CSharp-firstpass\obj\x86\Debug\x86\Debug” “-lock=C:\Users\roy29\Desktop\hoge\GeneratedProjects\UWP\Assembly-CSharp-firstpass\project.lock.json” “@C:\Users\roy29\Desktop\hoge\GeneratedProjects\UWP\Assembly-CSharp-firstpass\SerializationWeaverArgs.txt” “-additionalAssemblyPath=C:\Users\roy29\Desktop\hoge\Origami\Unprocessed” “-unity-networking=C:\Users\roy29\Desktop\hoge\Origami\Unprocessed\UnityEngine.Networking.dll”” はコード 1 で終了しました。
2>—— ビルド開始: プロジェクト: Assembly-CSharp, 構成: Debug x86 ——
2>CSC : error CS0006: メタデータ ファイル ‘C:\Users\roy29\Desktop\hoge\GeneratedProjects\UWP\Assembly-CSharp-firstpass\bin\x86\Debug\Assembly-CSharp-firstpass.dll’ が見つかりませんでした。
3>—— ビルド開始: プロジェクト: Origami, 構成: Debug x86 ——
3>CSC : error CS0006: メタデータ ファイル ‘C:\Users\roy29\Desktop\hoge\GeneratedProjects\UWP\Assembly-CSharp-firstpass\bin\x86\Debug\Assembly-CSharp-firstpass.dll’ が見つかりませんでした。
3>CSC : error CS0006: メタデータ ファイル ‘C:\Users\roy29\Desktop\hoge\GeneratedProjects\UWP\Assembly-CSharp\bin\x86\Debug\Assembly-CSharp.dll’ が見つかりませんでした。
========== ビルド: 0 正常終了、3 失敗、0 更新不要、0 スキップ ==========
ググると結構古いものもヒットする。阿鼻叫喚。
しょっちゅうここらへんでエラーが起きるみたいです。
- Unity Community Support | BUILD ERROR- Assembly -CSharp-firstpass.dll Could Not Be Found [HoloLens]
- Unity Community Support | Unable to build even an empty project.
- Unity Community Support | Build Error – Assembly-CSharp.dll’ could not be found [HoloLens]
解決策①
2017年8月ごろに発生した問題ならこの解決法が有効だと思われます。
以下の組み合わせ(2017年8月23日現在の最新の組み合わせ)だとビルドが失敗することが原因。
Unity 5.6.1f1, 2017.1.0.f3, 2017.1.0.p3
Visual Studio 2017.15.3.1
いくつか解決策がありますが、UnityなりMicrosoftなりで対応されるまでは、Visual Studio 2017.15.0を使うのがよいでしょう。
このエラーに関しては長くなったのでQiitaにまとめました。
- Qiita | Visual Studioをアップデートしたら3日間ハマった話
解決策②~は調べて出てきた過去の情報を一応まとめました(僕はそれでは解決できず)。
解決策②
Visual Studio 2017では「ツール -> オプション -> NuGetパッケージマネージャー」を選択します。
パッケージの復元の2つのチェックボックスにチェックを入れて「OK」。
これで解決する場合もあるようです。
ちなみに僕は直りませんでした。
- The Imaginative Universal | HOLOLENS FIX – VISUAL STUDIO 2017 BUILD ERROR
解決策③
こちらのフォーラムでは管理者として実行すれば解決するといっています。
- Windows Mixed Reality Developer Forum | HoloLens project stop working after installing new unity version
解決策④
別のディレクトリにアプリをビルドしたら解決することもあるらしい。
- Windows Mixed Reality Developer Forum | Deployment Error with cs0006
DEP2100
古いプロジェクトがHoloLensに入っている状態で、同じプロジェクト名で作りなおしたアプリを実行しようとしたら発生。
エラーメッセージ
DEP2100: ファイル”C\Users\…\bin\x86\Release\resources.pri”を対象コンピューター”127.0.0.1″にコピーできません。
エラー画面
解決策
失敗した際にHoloLensから古いバージョンがアンインストールされているよう。
もう一度実行すれば問題なく通る。
Unity
Error loading launcher://unity/C:/Users/…
エラーメッセージ
Error loading launcher://unity/C:/Users/roy29/AppData/Roaming/Unity/Packages/node_modules/unity-editor-home/dist/index.html?code=Bl1AilC-FLTgCV7qu1mX-A00df&locale=en&session_state=875be7911cfced08800a55c02a087844ec9272933d2e2859efda96c15839fe3d.l3HCH7ljGjrhfXStDLfP_w01df#/login
エラー画面
パスが深いとか、フォルダ名にスペースが入っているとか原因として挙げられていますがそれ以外でも起こる模様。
特に気にしなくてもよいというのが総意みたいですが。。。?
CS0618
HoloToolkitをインポートすると発生する。
7月末に解決済みの様子。プルリク済み、マージ待ち(2018/08/24現在)。
- Github | MixedRealityToolkit-Unity `SceneLoader` uses obsolete `KeywordManager`
- Github | MixedRealityToolkit-Unity SpeechInputSource, SpeechInputHandler, & SceneLauncher Update
エラーメッセージ
Assets/HoloToolkit/Utilities/Scripts/SceneLauncher.cs(21,16): warning CS0618: `HoloToolkit.Unity.InputModule.KeywordManager’ is obsolete: `Use HoloToolkit.Unity.InputModule.SpeechInputSource’
エラー画面