Xamarin Live Player のトラブルシューティングTroubleshooting Xamarin Live Player

プレビュー機能

警告

Xamarin Live Player プレビューが終了しました。The Xamarin Live Player Preview has ended. アプリは使用できなくなりました。The app is no longer available. 以下の手順は、Visual Studio 2017 でプレビューの使用を継続しているお客様向けに提供されています。The instructions below are provided for customers continuing to use the preview with Visual Studio 2017..

ヒント

Visual Studio 2019 または Visual Studio for Mac のXAML プレビューアーを使用して、編集時に画面のデザインを表示できます。You can use the XAML Previewer in Visual Studio 2019 or Visual Studio for Mac to view your screen designs as you edit them.

この記事では、ライブプレーヤーの制限事項と、それらを修正するための手順に関する一般的な問題について説明します。This article explains the limitations of Live Player, and some common problems with steps to correct them.

Xamarin Live Player の制限事項Limitations of Xamarin Live Player

IDE の要件IDE requirements

Live Player Preview は、Visual Studio 2017 でのみ使用できます。The Live Player Preview is only available in Visual Studio 2017.

デバイスの要件Device requirements

Xamarin Live Player アプリは、次の Android デバイスをサポートしています。The Xamarin Live Player app supports the following Android devices:

  • Android 4.2 以降。Android 4.2 or later.
  • ARM-armeabi-v7a、arm64-v8a、ARM64、arm64-v8a、x86、または x86_64 processor。ARM-v7a, ARM-v8a, ARM64-v8a, x86, or x86_64 processor.

iOS の制限事項iOS limitations

Live Player は iOS では使用できません。Live Player is not available for iOS.

Xamarin. Forms の制限事項Xamarin.Forms limitations

  • カスタムレンダラーはサポートされていません。Custom Renderers are not supported.
  • エフェクトはサポートされていません。Effects are not supported.
  • カスタムバインド可能なプロパティを持つカスタムコントロールはサポートされていません。Custom Controls with Custom Bindable Properties are not supported.
  • 埋め込みリソースはサポートされていません (つまり、イメージや PCL 内の他のリソースを埋め込む)。Embedded resources are not supported (ie. embedding images or other resources in a PCL).
  • サードパーティの MVVM フレームワークはサポートされていません (ie。Prism、Mvvm、Mvvm など)。Third party MVVM frameworks are not supported (ie. Prism, Mvvm Cross, Mvvm Light, etc.).

その他のプロジェクトの種類の制限Other project type limitations

  • Live Player は、ユーザーインターフェイスに Android XML を使用するネイティブの Android プロジェクトを対象としていません。Live Player is not intended for native Android projects (that use Android XML for the user interface).

その他の制限事項Miscellaneous limitations

  • リフレクションのサポートが制限されています (現在、SQLite や Json.NET などの一般的な Nuget には影響します)。Limited support for reflection (currently affects some popular NuGets, like SQLite and Json.NET). その他の Nuget はまだサポートされている可能性があります。Other NuGets may still be supported.
  • 一部のシステムクラス (たとえば、サブクラスを実装することはできません) をオーバーライドすることはできません。Some system classes cannot be overridden (for example, you cannot implement a subclass).
  • プロビジョニングが必要なプラットフォーム機能の中には、Xamarin Live Player アプリでは機能しないものがあります (ただし、フォトギャラリーへのアクセスなどの一般的な操作用に構成されています)。Some platform features that require provisioning can't work in the Xamarin Live Player app (however it has been configured for common operations like photo gallery access).
  • カスタムターゲットとビルドステップは無視されます。Custom targets and build steps are ignored. たとえば、"AutoFac"、"フィット"、""、"AutoMapper" などのツールを組み込むことはできません。For example, tools like Fody, Refit, AutoFac, and AutoMapper cannot be incorporated.
  • F#プロジェクトはサポートされていませんF# projects are not supported
  • カスタムジェネリッククラスおよびインターフェイスを使用した高度なシナリオはサポートされない場合があります。Advanced scenarios with custom generic classes and interfaces may not be supported.

バーコードをスキャンした後 (またはコードを入力した後)、モバイルデバイスが接続しないMobile device does not connect after scanning barcode (or entering code)

Xamarin Live Player を実行しているモバイルデバイスが、IDE を実行しているコンピューターと同じネットワーク上にない場合に発生します。Occurs when the mobile device running Xamarin Live Player is not on the same network as the computer running the IDE. 次のことを確認してください。Check out the following:

  • デバイスとコンピューターの両方が同じ Wi-fi ネットワーク上にあることを確認します。Confirm that both the device and computer are on the same Wi-Fi network.
    • コンピューターがワイヤード (有線) ネットワークにも接続されている場合は、ワイヤード (有線) 接続を抜いてみてください。If the computer is also connected to a wired network, try unplugging the wired connection.
  • ネットワークがセキュリティで保護されている (一部の企業ネットワークなど) と、Xamarin Live Player に必要なポートをブロックしている可能性があります。The network may be tightly secured (such as some corporate networks), blocking the ports needed by Xamarin Live Player.
  • Xamarin Live Player アプリを閉じて再起動します。Close the Xamarin Live Player app and restart it.

IDE で "メッセージの展開中にエラーが発生しました" というメッセージが表示される"Error while trying to deploy" message in IDE

"IOException: トランスポート接続からデータを読み取ることができません:非ブロッキングソケットに対する操作は ""IOException: unable to read data from the transport connection: Operation on non-blocking socket would block"

このエラーは、Xamarin Live Player を実行しているモバイルデバイスが、Visual Studio を実行しているコンピューターと同じネットワーク上にない場合に発生することがよくあります。これは、以前に正常にペアリングされたデバイスに接続するときによく発生します。This error is often experienced when the mobile device running Xamarin Live Player is not on the same network as the computer running Visual Studio; this often happens when connecting to a device that was previously paired successfully.

  • デバイスとコンピューターの両方が同じ Wi-fi ネットワーク上にあることを確認します。Check that both the device and computer are on the same Wi-Fi network.
  • ネットワークがセキュリティで保護されている (一部の企業ネットワークなど) と、Xamarin Live Player に必要なポートをブロックしている可能性があります。The network may be tightly secured (such as some corporate networks), blocking the ports needed by Xamarin Live Player. Xamarin Live Player には、次のポートが必要です。The following ports are required for the Xamarin Live Player:
    • 37847–内部ネットワークアクセス37847 – Internal network access
    • 8090–外部ネットワークアクセス8090 – External network access

デバイスを手動で構成するManually Configure Device

Wi-fi 経由でデバイスに接続できない場合は、次の手順に従って、構成ファイルを使用して手動でデバイスを構成することができます。If you can not connect to your device over Wi-Fi you can attempt to manually configure your device via the configuration file, with the following steps:

ステップ 1: 構成ファイルを開くStep 1: Open configuration file

アプリケーションデータフォルダーに移動します。Head to your application data folder:

  • Windows: %userprofile%\AppData\RoamingWindows: %userprofile%\AppData\Roaming
  • macOS: ~/Users/$USER/.configmacOS: ~/Users/$USER/.config

このフォルダーには、 PlayerDeviceListが存在しない場合は、作成する必要があります。In this folder you will find PlayerDeviceList.xml if it does not exist you will need to create one.

手順 2:IP アドレスの取得Step 2: Get IP address

Xamarin Live Player アプリで > 接続テストの概要 > 接続テストを開始します。In the Xamarin Live Player app, go to About > Connection Test > Start Connection Test.

IP アドレスをメモしておきます。デバイスを構成するときに、IP アドレスが表示されます。Take note of the IP Address, you will need the IP address listed when you configure your device.

手順 3:ペアリングコードを取得するStep 3: Get pairing code

Xamarin Live Player 内で、ペアリングまたはペアをもう一度タップし、Enter キーを手動で押します。Inside of the Xamarin Live Player tap Pair or Pair Again, then press Enter Manually. 数値のコードが表示されます。構成ファイルを更新する必要があります。A numeric code will be displayed, which you will need to update the configuration file.

手順 4:GUID の生成Step 4: Generate GUID

移動: https://www.guidgenerator.com/online-guid-generator.aspx 新しい guid を生成して、大文字のことを確認します。Go to: https://www.guidgenerator.com/online-guid-generator.aspx and generate a new guid and make sure Upper Case is on.

手順 5: デバイスの構成Step 5: Configure device

Visual Studio や Visual Studio Code などのエディターでPlayerDeviceListを開きます。Open up the PlayerDeviceList.xml up in an editor such as Visual Studio or Visual Studio Code. このファイルでデバイスを手動で構成する必要があります。You need to configure your device manually in this file. 既定では、ファイルには、次のDevices空の XML 要素が含まれている必要があります。By default, the file should contain the following empty Devices XML element:

<DeviceList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Devices>

</Devices>
</DeviceList>

Android デバイスの追加:Add Android Device:

<PlayerDevice>
<SecretCode>ENTER-PAIR-CODE-HERE</SecretCode>
<UniqueIdentifier>ENTER-GUID-HERE</UniqueIdentifier>
<Name>Android Player</Name>
<Platform>Android</Platform>
<AndroidApiLevel>24</AndroidApiLevel>
<DebuggerEndPoint>ENTER-IP-HERE:37847</DebuggerEndPoint>
<HostEndPoint />
<NeedsAppInstall>false</NeedsAppInstall>
<IsSimulator>false</IsSimulator>
<SimulatorIdentifier />
<LastConnectTimeUtc>2018-01-08T20:34:42.2332328Z</LastConnectTimeUtc>
</PlayerDevice>

Visual Studio を閉じて再度開きます。Close and re-open Visual Studio. デバイスが一覧に表示されます。Your device should show up in the list.

IDE で "型または名前空間が見つかりません" というメッセージが表示される"Type or namespace cannot be found" message in IDE

デバイスの種類に一致するスタートアッププロジェクトが選択されていることを確認します (例Check that you have selected a Startup Project that matches your device type (eg. Android) と、構成がそのデバイスの種類と一致している (例Android) and that the configuration matches that device type (eg. Android 用にデバッグ)。Debug for Android).

"型のコンストラクターが見つかりません" というメッセージが表示されます。"Constructor on type 'InterpretedXamarin.Forms.Button' not found" message in Player

一部のシステムクラスはオーバーライドできません。次に例を示します。Some system classes cannot be overridden, for example:

public class SomeCustomButton : Xamarin.Forms.Button { ... }

"MainActivity.cs:' Resource. Layout ' に ' Main ' の定義が含まれていません"MainActivity.cs: 'Resource.Layout' does not contain a definition for 'Main'"

このエラーは、AXML ファイルで定義されたユーザーインターフェイスを持つ Android プロジェクトに対して発生します。This error occurs for Android projects with user interfaces defined in AXML files. 現在、Xamarin Live Player では、AXML ファイルはサポートされていません。AXML files are not currently supported in Xamarin Live Player.

Android のツールバーとタブが、Xamarin. フォームを使用して正しく表示されないAndroid Toolbar and Tabs render incorrectly using Xamarin.Forms

Xamarin. Forms Android プロジェクトでは、関連するレイアウトファイルの名前に "Toolbar. axml" と "Tabbar. axml" を使用する必要があります。Xamarin.Forms Android projects must use "Toolbar.axml" and "Tabbar.axml" for the names of the relevant layout files. 既定のテンプレートでは、これらの名前が使用されます。名前を変更すると、レンダリングの問題が発生します。The default template uses these names; renaming them will cause rendering issues.