unity打包后无法读取Excel解决方法

2023-09-18 18:13:32

一、前言

最近几乎遇到了所有能遇到的unity读取Excel 的问题。

因为使用的是unity5.4,而且还是32位。所以出现各种问题在所难免。

废话不多说,现有的现象是:在unity的编辑器里可以完美运行,读取Excel不成问题,但是打包成exe后就无法读取到对应路径下的Excel表格了。

二、解决办法

第一种,未能解决:

在脚本中使用文件路径的时候尽量使用​​Application.streamingAssetsPath​​​,而不要使用 ​​Application.dataPath​​
​​Application.streamingAssetsPath​​中的文件在打包成exe后依然在依赖的文件夹中,也就是可以正常使用加载
但是 ​​Application.dataPath​​在打包成exe文件后,其中的文件可能就丢失了!

上面这个方法是网络上找到的,但并不能解决我的问题。

第二种可以解决问题:

打包后不能读取到Excel的原因是因为缺少以下的DLL。

只要将这些dll放入到你打包后的文件夹里就可以了。

具体文件夹的路径是:打包形成的data文件中的Managed文件夹,如下图:

在Managed文件夹中有很多dll但是缺少了上面我截图的dll。具体这些dll在哪里找我可以发个链接,链接如下:https://download.csdn.net/download/alayeshi/88353987

这样打包之后的exe程序就可以读取到Excel里的内容了。

三、效果展示

四、拓展

因为unity打包缺少dll,所以可以直接将这些dll放入unity的编辑器的安装目录下。比如我的unity的安装路径是:

D:\Program Files (x86)\Unity\Editor\Data\Mono\lib\mono\unity

将缺少的dll全部拷贝到这个目录文件夹里,下次打包就可以自带这些dll。

理论上应该是这样的,但是我还没有测试。如果不可行那就还是使用上面的方法,直接将dll拷贝到打包形成的data文件中的Managed文件夹。

--------------

还有人出现build的时候出现错误。这个错误是因为工程里面的dll需要使用.net2.0才可以。

只需要在打包设置里进行设置为2.0就可以,如下图:

更多推荐

flutter项目中常用第三方模块

flutter项目中常用第三方模块持续更新中序言关于第三方模块安装flutter_native_splash使用方式模块配置flutter_localizations模块配置使用方式get_storage模块配置使用方式get模块配置使用方式持续更新中序言本章介绍项目中常用第三方模块,方便快速构建项目关于第三方模块安装

JS获取经纬度, 并根据经纬度得到城市信息

在JavaScript中,获取经纬度通常需要使用定位服务,比如HTML5的GeolocationAPI。然而拿到坐标后,将经纬度转换为城市信息,则需要使用逆地理编码服务接口,比如百度或者高德的API,但是他们收费都很高,我们可以使用一些便宜的接口,效果一样的。以下是一个简单的示例:一、获取经纬度首先,你需要使用Geol

基于TensorFlow+CNN+协同过滤算法的智能电影推荐系统——深度学习算法应用(含微信小程序、ipynb工程源码)+MovieLens数据集(六)

目录前言总体设计系统整体结构图系统流程图运行环境模块实现1.模型训练1)数据集分析2)数据预处理3)模型创建4)模型训练5)获取特征矩阵2.后端Django3.前端微信小程序1)小程序全局配置文件2)推荐电影页面3)个人信息界面以及用户登录记录页面相关其它博客工程源代码下载其它资料下载前言本项目专注于MovieLens

【多思路附源码持续更新】2023年华为杯(中国研究生数学建模)竞赛C题

赛题若官网拥挤,数据集和赛题下载地址如下:https://download.csdn.net/download/weixin_47723732/88364777历届优秀论文下载地址,可以做参考文章https://download.csdn.net/download/weixin_47723732/88365222论文万

Stability AI发布基于稳定扩散的音频生成模型Stable Audio

近日StabilityAI推出了一款名为StableAudio的尖端生成模型,该模型可以根据用户提供的文本提示来创建音乐。在NVIDIAA100GPU上StableAudio可以在一秒钟内以44.1kHz的采样率产生95秒的立体声音频,与原始录音相比,该模型处理时间的大幅减少归因于它对压缩音频潜在表示的有效处理。架构自

什么是 Sepolia 测试网以及如何从 Faucet 获取 Sepolia ETH

如何通过水龙头领取Sepolia测试网ETH代币Sepolia测试网需要SepoliaETH代币来测试即将推出的dApp,然后再在以太坊主网上线。您可以从Alchemy、QuickNode和Infura水龙头领取Sepolia测试网ETH。要点您可以从官方水龙头和其他一些独立水龙头获取Sepolia测试网络的测试以太坊

插槽指的是什么?插槽的基础用法体验

什么是插槽插槽(Slot)是vue为组件的封装者提供的能力。允许开发者在封装组件时,把不确定的、希望由用户指定的部分定义为插槽。<template><p>这是MyCom1组件的第1个p标签</p><!--通过slot标签,为用户预留内容占位符(插槽)--><slot></slot><p>这是MyCom1组件最后一个p标

基础算法--位运算

位运算理解:n>>k:代表n右移k位比如000011>>1=000001前面会补零(所以第几位是从0开始计算)n&1:表示最后一位是否为1比如:n=3=0011而1=0001则3&1=0011&0001为0001可以用来判断最后一位是否为1lowbit操作,树状数组的基本操作:lowbit(x)作用是返回x的最后一位1

多线程回顾、集合Collection、Set、List等基本知识

多线程回顾问:多线程的两种创建方式?继承Thread类实现Runnable接口线程池Callable问:多线程通常会遇到线程安全问题?什么情况下会遇到线程安全问题?答:一个数据被多个线程访问(有读有写)解决这个问题的方式?SE:同步锁synchronizedA:同步代码块B:同步方法同步锁的要求A:这多个线程必须使用同

详细介绍下路由器中的WAN口

路由器的WAN口(WideAreaNetworkport)是指用于连接广域网(WAN)的接口。它是路由器与外部网络(如互联网)之间的物理连接点,允许路由器与互联网服务提供商(ISP)或其他广域网设备进行通信。那么下面我们详细介绍下路由器的WAN口:功能:WAN口的主要功能是连接到广域网,将路由器与互联网相连。它提供了路

Amazon Lightsail——兼具亚马逊云科技的强大功能与 VPS 的简易性

对于开发者而言,当你想构建系统架构时,你的面前就出现了两种选择,选择一:花时间去亲手挑选每个亚马逊云科技组件(云服务器、存储、IP地址等),然后自己组装起来;选择二是只需要一个预先配置且预先组装的系统,就可以运行自己的Web应用程序,而不必自己费力去构建系统。在很多情况下,那些寻求预组装系统的人会求助于虚拟私有云服务器

热文推荐