xamarin UIテストを実行しようとすると、コンピュータに問題があります。これはxamarinフォームプロジェクトです。私はアンドロイドデバイスの構築とテストを行っています。私はビジュアルスタジオコミュニティ2017とウィンドウを使用しています。Xamarin UIテスト "1はサポートされているコードページではありません。"
私は自分のプロジェクトで、ここで、マイクロソフトが提供するサンプルプロジェクトの両方で試してみました: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への正しいパスであることを確認しており、 "mode"はAppDataMode.Clearです。
私はプロジェクトのプロパティやビジュアルスタジオとウィンドウの設定のように私が見つけることができるオプションを変更しようとしました。すべてが最新のもので、私はclean/build/Visual Studioを再起動するすべての組み合わせを試しました。私はHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
を見て、作業機械とは異なるものは見つけられませんでした。検索しているうちに、私は解決に近づくものは見つけられませんでした。このエラーは一般的ではないようです。 OEMCP(OEMメーカーのコードページ)はレジストリで437に設定されていますが、コード内のTextInfo.OEMCodePageを記録すると、エラーの説明は「1」になります。多分それは助けます。
Thread.CurrentThread.CurrentCulture.TextInfo.OEMCodePage == 1
私のために次のステップでは、Visual StudioまたはWindowsを再インストールすることになります。