1. はじめに
会社でUWP開発をしようと環境構築をしたら、思いのほか詰まったのでメモします。
2. 環境
・OS : Windows10 EnterPrise
・CPU : Intel Core I7-3770
・メモリ : 16.0GB
・IDE : VisualStudio Professional 2017 Ver15.2
3. エミュレータがない!
VSにて、UWPのプロジェクトを作成しエミュレータを起動してデバッグをしようとしたら、
上記画像のように、エミュレータがない!
「最新のエミュレータをダウンロード中です」とでていた。(スクリーンショットを撮る前)
クリックすると下記URLに遷移するので、一番上から二番目(Windows 10 SDK (ver. 10.0.14393.795 – a QFE for 10.01.14393.033) and Microsoft Emulator for Windows 10 mobile)のInstall Emulatorをクリックしてダウンロードしてインストール
https://developer.microsoft.com/en-us/windows/downloads/sdk-archive
4. エミュレータがまだでてこない!
ここまでで、終わっていれば記事なんて書かなくてもよかったのだが、自分の環境ではうまくいかず・・・
(参考:http://coelacanth.jp.net/debug_windows_10_mobile/)
このようなエラーがでました。
5. 解決策
1. Hyper-V ロールをインストールする
- Windows ボタンを右クリックし、[プログラムと機能] を選択します。
- [Windows の機能の有効化または無効化] を選択します。
- [Hyper-V] を選択して、[OK] をクリックします。
(設定後、再起動が必要です。)
(参考:https://docs.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v)
これでもまだエミュレータが表示されなければ、2番をみてください。
2. 仮想機能を有効にするために、BIOSを設定する
- コマンドプロンプトを立ち上げ(Win + R cmd)、コマンド「systeminfo」を実行
- Hyper-V の項目が一つでも「いいえ」になっていることを確認する
- PCを再起動し、BIOSを起動する(私の環境では、真っ暗な画面の時にF10連打)
- Security -> SystemSecuriy
- Virtualization Technology(VTx)とVirtualization Technology Directed I/o (Vtd)をEnavbleにする
- 保存して、立ち上げる
- コマンドプロンプトでコマンド「systeminfo」を実行し、下記のようになることを確認(Hyper-Vの要件: ハイパーバイザーが検出されました。Hyper-Vに必要な機能は表示されません。)
3に書いた通りに再度インストールし、これでVSを立ち上げてみると・・・
うおおお!!
やっとできたああ!!!
BIOSの設定は環境によって異なるので、一応自分が調べたサイトのリンクを貼っておきます。
・http://www.tekwind.co.jp/faq/ASU/entry_134.php
エミュレータの起動
ようやく、エミュレータが表示され一安心しました。
しかし・・・・
仮想マシンを作成できません:
仮想マシンの作成中にエラーが発生しました: 操作に失敗しました。
Hyper-V 仮想マシン管理サービスで予期しないエラーが発生しました: ログオン失敗: 要求された種類のログオンは、このコンピューターではユーザーに許可されていません。 (0x80070569)。
Administrator権限のユーザーで入っているのになぁとか思いつつ、全然わかりませんでした。
解決策
- タスクマネージャーを開き、Hyper-Vに関するシステムを全て強制終了する
- Hyper-V マネージャーを開き(Win+Q Hyper-V) サーバーに接続 -> ローカルに接続
- VSで再度実行
# まとめ
なぜうまくいったか、なぜうまくいかなかったかはあまりよくわかっていません。
参考になれば幸いです。
Hyper-Vのことや、BIOSのこともなんとなくしか知らないので、勉強していきたいです。
UWPどころか、WPFも触ったことないのでこれから頑張ります!
参考資料(ざっくり)
・http://coelacanth.jp.net/debug_windows_10_mobile/
・http://kururu.dip.jp/blog/?p=2429
・https://solutions.vaio.com/396
・https://blogs.technet.microsoft.com/askcorejp/2016/01/27/hyper-v-4/