关于Unity使用Aspose.Words.dll发布Windows平台后运行报错:Operation is not supported on this platform.说明

  • Post author:
  • Post category:其他




👉一、报错来源

Unity版本:Unity 2018.4.36f1。

Aspose.Words.dll版本:18.7.0.0 Targets .NET 3.5。

打包为exe文件运行后执行到Aspose.Words的相关Api时报错(编辑器运行无报错)。



👉二、报错信息

在这里插入图片描述


  • PlatformNotSupportedException:Operation is supported on this platform.


    大概意思是,平台不支持的异常:当前平台不支持该操作。



👉三、定位错误及分析原因

通过调试Debug后,发现是执行到语句

Aspose.Words.Document doc = new Aspose.Words.Document(docPath);

时报错,无法实例化获取Document对象。

刚开始根据报错信息,我第一反应觉得可能是32位平台和64位平台的问题,于是我修改了打包时的平台架构设置,发现不管是选择x86还是x64发布,运行后都一样报错。

后来我想会不会是脚本运行平台的问题,于是我就把脚本运行平台改为.NET 4.X(原来是.NET Standard 2.0),打包运行exe测试发现居然无报错!果不其然还是脚本运行平台的问题,但是我有点纳闷的是低版本Unity里面选择.NET 2.0平台发布没发现报错呀,看来还是没把这些.net平台之间的区别搞懂呀,回头得好好研究研究。



👉四、解决方法

综上所述,高版本的Unity使用Aspose.Words.dll操作word文档时需选择的

脚本运行平台为.NET 4.X



如下设置:

在这里插入图片描述

(可在Unity界面依次点击:

File/Building Settings/Player Settings/Other Settings/Api Compatibilty Level



版权声明:本文为qq_42437783原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。