5

xamarin UI テストを実行しようとすると、コンピューターに問題が発生します。これは xamarin フォーム プロジェクトであり、Android デバイスでビルドおよびテストしています。Visual Studio Community 2017 と Windows を使用しています。

私は自分のプロジェクトとマイクロソフトが提供するサンプル プロジェクトの両方で試しました: https://developer.xamarin.com/samples/test-cloud/Quickstarts/CreditCardValidator.Droid/

私が見る限り、同じコードが他のいくつかのコンピューターで同じセットアップで機能します。

私が得るエラーはこれです:

System.ArgumentException : 1 is not a supported code page.
Parameter name: codepage

これはスタックトレースの終わりです:

at System.Text.Encoding.GetEncoding(Int32 codepage)
at ICSharpCode.SharpZipLib.Zip.ZipFile.ReadEntries()
at ICSharpCode.SharpZipLib.Zip.ZipFile..ctor(FileStream file)
at Xamarin.UITest.Shared.Android.ApkFile.GetFileBytes(String fileName)

デバッグ時に到達できる最後の行は次のとおりです。

app = ConfigureApp.Android.Debug().ApkFile(appPath).StartApp(mode);ここで、それがapkへの正しいパスであり、「モード」がAppDataMode.Clearであることを確認しました。

プロジェクトのプロパティやビジュアル スタジオや Windows の設定など、見つけたオプションを変更してみました。すべてが最新であり、ビジュアルスタジオのクリーン/ビルド/再起動のすべての組み合わせを試しました. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage動作中のマシンと異なるものは何も見つかりませんでした。検索中に、解決策に近づくものは何も見つかりませんでした。このエラーは一般的ではないようです。OEMCP (Original Equipment Manufacturer Code Page) はレジストリで 437 に設定されていますが、コードで TextInfo.OEMCodePage をログに記録すると、エラーの説明である "1" が返されます。たぶんそれが役立ちます。

Thread.CurrentThread.CurrentCulture.TextInfo.OEMCodePage == 1

私にとっての次のステップは、Visual Studio または Windows を再インストールすることです。

4

2 に答える 2