原因:Window切换English系统语言untiy发布项目运行出现
UriFormatException: Invalid URI: The hostname could not be parsed.
无法读取记录IP 与Port 的excel文件
经过排查发现项目版本读取Excel的方法是通过
ExcelReaderFactory.CreateOpenXmlReader()
- 读取流的方式,而此方式引用的是I18N、I18N.CJK 库
- 发布设置中的api兼容等级为:
- 该库的属性为:
如何找到与发布设置对应的Api兼容版本
…\Unity\Editor\Data\MonoBleedingEdge\lib\mono\unityjit
jit(Just-In-Time)下都为运行时编译库
通过该路径下的找到对应的I18N系列库覆盖项目中的文件,发布即可
- 备注:虽然解决了问题,但还有几个疑问没有验证,记录一下
- 没有切换系统语言时,使用3.5版本的同样可以正常读取运行,不清楚切换系统语言导致了什么,可能一些格式与路径需要适配
- ExcelReaderFactory引用应该是通过Visual Studio中NuGet Package Manager下载ExcelDataReader.dll和ExcelDataReader.DataSet.dll的方式读取Excel 详情见Unity使用ExcelDataReader读取Excel,但使用I18N系列的库也可使用