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

Unity_程序集_.asmdef_引用命名域失败

文章目录

  • 一、问题
  • 二、解决方案
  • 三、总结


我在学习Unity官方FPS样例,需要修改交互的操作方式,由鼠标控制摄像头改为用陀螺仪控制,陀螺仪需要一个插件,有一些脚本获取陀螺仪数据,因为需要修改FPGS的玩家控制,需要引用陀螺仪插件脚本命名域,但是报错!!!!。最后在将目录树复制发给ai得到解决。


一、问题

下面是AI回答:
问题所在
当一个文件夹(及其子文件夹)中没有 .asmdef 文件时,它所有的脚本都会被编译进一个 Unity 自动创建的、特殊的“默认程序集”中,这个程序集的名字叫 Assembly-CSharp.dll。

而您的 PlayerCharacterController 脚本位于 Assets/FPS/Scripts 目录下,这个目录有一个 .asmdef 文件。这意味着您的脚本被编译到了一个自定义的程序集里(我们称之为 FPS.Scripts 程序集)。

核心规则是:自定义程序集(比如 FPS.Scripts)默认无法引用默认程序集(Assembly-CSharp.dll)中的代码。 这是一条“单行道”,默认程序集可以引用自定义程序集,但反过来不行。

所以,情况是这样的:

Uduino 的代码在 Assembly-CSharp.dll 中。
PlayerCharacterController 的代码在 FPS.Scripts.asmdef 定义的程序集中。
FPS.Scripts 无法“看到” Assembly-CSharp.dll,因此 using Uduino; 失败。
解决方案
您有两种选择,强烈推荐第一种,因为它是最规范、最有利于项目长期维护的做法。

.asmdef 文件就是下面图片显示这个玩意:
在这里插入图片描述

二、解决方案

方案一(最佳实践):为 Uduino 创建 .asmdef 文件
这个方法是将 Uduino 这个第三方库也变成一个独立的、可被引用的模块。

在 Unity 的 Project 窗口中,导航到 Assets/Uduino/Scripts 文件夹。

在该文件夹内,右键点击 -> Create -> Assembly Definition。

Unity 会创建一个新的 .asmdef 文件,请将其命名为 Uduino。

等待 Unity 自动完成一次脚本重编译。

现在 Uduino 也有了自己的程序集了! 接下来,执行我们最开始的步骤:

导航回您的 Assets/FPS/Scripts 文件夹,找到并单击选中您的 .asmdef 文件 (例如 FPS.Scripts.asmdef)。
在 Inspector 窗口中,找到 “Assembly Definition References” 区域。
点击 “+” 号。
在新出现的栏位中,点击右侧的小圆圈,然后从列表中选择刚刚创建的 Uduino。
点击 “Apply” 保存。
现在,你的 FPS.Scripts 程序集就明确地引用了 Uduino 程序集,问题解决。

添加对方.asmdef 文件:
在这里插入图片描述

三、总结

需要在这两个代码文件夹下找到.asmdef 文件,在要引用对方代码.asmdef 文件中添加对方的.asmdef 文件。如果一个有,另一个没有可以创建一个.asmdef 文件。

http://www.dtcms.com/a/388973.html

相关文章:

  • FPGA采集AD7606转SRIO传输,基于Serial Rapidlo Gen2,提供6套工程源码和技术支持
  • Cloudcompare实现在模型上进行点云(下)采样
  • 【Linux】聊聊文件那些事:从空文件占空间到系统调用怎么玩
  • 基于代码层对运动台性能提升实战
  • openfeigin配置相关
  • 网络传输协议解析及SSE补充
  • 视觉SLAM第12讲:建图
  • 2025编程技术学习网站大全:从入门到精通的免费资源指南
  • 刷题日记0918
  • emacs 如何显示断点和运行的行标
  • 【c++】继承(2)
  • 大模型提示词Prompt工程:万能公式-完整指南
  • Flask RESTful API 教程:从零实现 Python CRUD 后端服务
  • 百年奢品家电ASKO亮相IFA2025|以至臻品质绘就生活新境
  • jvm排查full gc或者humongous obj思路?如何调优?
  • 实现.NetCore集成Serilog,写入日志文件,并按日期拆分文件夹
  • [新启航]航空发动机燃烧室喷嘴孔深光学 3D 轮廓测量 - 激光频率梳 3D 轮廓技术
  • iOS 上架 App 流程全解析 苹果应用发布步骤、App Store 审核流程、ipa 文件上传与 uni-app 打包实战经验
  • 22.6 单卡A100驯服30亿参数模型!DeepSpeed ZeRO-3实战显存优化指南
  • jvm垃圾搜集器
  • 小红书开放平台笔记详情接口实战:内容解析与数据挖掘全方案
  • App 上架平台全解析,iOS 应用发布流程、苹果 App Store 审核步骤
  • BeeWorks:私有化部署即时通讯,铸就企业数字安全基石
  • (数据分析方向)Flask 动漫数据可视化分析系统(Echarts + 番剧管理・大数据)(源码)✅
  • 2025 最新版 Node.js 下载安装及环境配置教程
  • 分布式流处理与消息传递——Kafka ISR(In-Sync Replicas)算法深度解析
  • JVM(三)-- 运行时数据区
  • 从比特币到Web3:数字资产犯罪的演进史
  • godot+c#实现状态机
  • linux计划任务管理