Edited at

UWPでWindowsPhoneアプリを開発しようとしたら、エミュレータがない!

More than 1 year has passed since last update.


1. はじめに

会社でUWP開発をしようと環境構築をしたら、思いのほか詰まったのでメモします。


2. 環境

・OS : Windows10 EnterPrise

・CPU : Intel Core I7-3770

・メモリ : 16.0GB

・IDE : VisualStudio Professional 2017 Ver15.2


3. エミュレータがない!

2.PNG

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. エミュレータがまだでてこない!

ここまでで、終わっていれば記事なんて書かなくてもよかったのだが、自分の環境ではうまくいかず・・・

024-600x440.png

(参考:http://coelacanth.jp.net/debug_windows_10_mobile/)

このようなエラーがでました。


5. 解決策


1. Hyper-V ロールをインストールする


  1. Windows ボタンを右クリックし、[プログラムと機能] を選択します。

  2. [Windows の機能の有効化または無効化] を選択します。

  3. [Hyper-V] を選択して、[OK] をクリックします。
    (設定後、再起動が必要です。)
    enable_role_upd.png

(参考:https://docs.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v)

これでもまだエミュレータが表示されなければ、2番をみてください。


2. 仮想機能を有効にするために、BIOSを設定する


  1. コマンドプロンプトを立ち上げ(Win + R cmd)、コマンド「systeminfo」を実行

  2. Hyper-V の項目が一つでも「いいえ」になっていることを確認する

  3. PCを再起動し、BIOSを起動する(私の環境では、真っ暗な画面の時にF10連打)

  4. Security -> SystemSecuriy

  5. Virtualization Technology(VTx)とVirtualization Technology Directed I/o (Vtd)をEnavbleにする

  6. 保存して、立ち上げる

  7. コマンドプロンプトでコマンド「systeminfo」を実行し、下記のようになることを確認(Hyper-Vの要件: ハイパーバイザーが検出されました。Hyper-Vに必要な機能は表示されません。)
    3.PNG

3に書いた通りに再度インストールし、これでVSを立ち上げてみると・・・

4.PNG

うおおお!!

やっとできたああ!!!

BIOSの設定は環境によって異なるので、一応自分が調べたサイトのリンクを貼っておきます。

http://www.tekwind.co.jp/faq/ASU/entry_134.php


エミュレータの起動

ようやく、エミュレータが表示され一安心しました。

しかし・・・・

仮想マシンを作成できません:

仮想マシンの作成中にエラーが発生しました: 操作に失敗しました。

Hyper-V 仮想マシン管理サービスで予期しないエラーが発生しました: ログオン失敗: 要求された種類のログオンは、このコンピューターではユーザーに許可されていません。 (0x80070569)。

Administrator権限のユーザーで入っているのになぁとか思いつつ、全然わかりませんでした。


解決策


  1. タスクマネージャーを開き、Hyper-Vに関するシステムを全て強制終了する

  2. Hyper-V マネージャーを開き(Win+Q Hyper-V) サーバーに接続 -> ローカルに接続

  3. 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/