当前位置: 首页 > article >正文

【Unity】打包报错类型不存在于命名空间内

1 前言

        这里的打包准确来说是资源包,使用YooAsset进行打包资源时报了这个错误:error CS0234: The type or namespace name 'AssetModificationProcessor' does not exist in the namespace 'UnityEditor' (are you missing an assembly reference?)。本来是可以打包的,但我一顿程序集划分、引用后再打包就报错了。

2 问题

        查询相关资料后,发现似乎是Editor脚本的原因。具体什么原因我也不确定,可能是Editor单独划分程序集后在打包时无法识别?

3 解决

        解决方案也很简单,给Editor脚本加上宏判断即可:

//原来的脚本内容
using UnityEditor;
using ···
···

namespace ···
{
    ···
}

//加判断宏后
#if UNITY_EDITOR //若是编辑器状态
using UnityEditor;
using ···
···

namespace ···
{
    ···
}
#endif

        可以看到,我给整个脚本加了个编辑器状态判断的宏,这样可以理解为非编辑器状态下此脚本内容就不存在了。通常Runtime逻辑也不会去引用Editor逻辑,所以非编辑器状态下隐藏Editor脚本内容也不会出现引用错误。之后测试,打包成功。

4 后记

        核心在于屏蔽掉涉及到Editor的内容。我的方法较为粗暴,直接对整个脚本进行判断,实际也可以只对脚本中涉及到Editor的内容判断,保留不涉及的部分。当然,也要确保屏蔽掉涉及Editor的内容后不会造成保留的内容发生错误。


http://www.kler.cn/a/293044.html

相关文章:

  • 2024.11.12_大数据的诞生以及解决的问题
  • vue3 pdf base64转成文件流打开
  • 初探鸿蒙:从概念到实践
  • Flink CDC(SQL Client)连接 MySQL 数据库教程
  • srs http-flv处理过程
  • Spring资源加载模块,原来XML就这,活该被注解踩在脚下 手写Spring第六篇了
  • 算法篇_C语言实现霍夫曼编码算法
  • 科研绘图系列:R语言PCoA图(PCoA plot)
  • HarmonyOS开发实战( Beta5.0)DevEco Device Tool开发环境搭建实践
  • 卷轴模式系统源码开发之社交电商:融合传统与创新的新篇章
  • 解决职业摔跤手分类问题的算法与实现
  • Matlab 并联双振子声子晶体梁结构带隙特性研究
  • 算法训练营|图论第11天 Floyd算法 A*算法
  • 【微服务】接口的幂等性怎么设计?
  • Kubernetes 上安装 Jenkins
  • 5、Django Admin后台移除“删除所选”操作
  • 问:Java异常处理的日常?
  • 民宿小程序开发制作,开发优势分析
  • 《绝区零》全球累积收入突破1亿美金;《原神》斩获年度最佳手游大奖 | 手游和应用出海资讯
  • Linux 进程概念
  • Java笔试面试题AI答之JDBC(4)
  • 006-Sleuth(Micrometer)+ZipKin分布式链路追踪
  • Swift 运算符
  • 在 “Label Studio” 和 “Android Studio” 中,“studio”的含义
  • Signac R|如何合并多个 Seurat 对象 (2)
  • 联蔚盘云亮相CDIE消费品行业峰会