1

尝试运行xamarin UI测试时,我的电脑出现问题。这是一个Xamarin表单项目,我正在Android设备上构建和测试。我正在使用Visual Studio社区2017和Windows。Xamarin UI Test“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的正确路径,“模式”是AppDataMode.Clear。

我试过改变任何选项,我可以找到,如项目属性或视觉工作室和Windows设置。一切都是最新的,我尝试了清洁/构建/重新启动视觉工作室的每一个组合。我看过HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage,没有发现任何不同于工作机器的东西。在搜索时,我没有发现任何让我更接近解决方案的东西。这个错误似乎并不常见。 OEMCP(原始设备制造商代码页)在注册表中设置为437,但在代码中记录TextInfo.OEMCodePage会给我“1”,这是错误的描述。也许这有帮助。

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

对我来说,下一步将是重新安装Visual Studio或窗口。

回答

0

有同样的问题。设置默认的Windows语言为英语(美国)以某种方式修复它。