【解决】Method does not contain a definitiion for Method and no accessible extension method...
·
开发平台:Unity 2022
编程平台:Visual Studio 2022
编程语言:CSharp 6.0
问题描述
- Assets/路径/Class.cs(91,32): error CS1061: ClassName’ does not contain a definition for ‘方法名’ and no accessible extension method ‘方法名’ accepting a first argument of type ‘脚本名’ could be found (are you missing a using directive or an assembly reference?)
翻译参考:
- Assets/路径/Class.cs(91,32):错误 CS1061:“ClassName”不包含“Method()”的定义,并且找不到接受“Class”类型的第一个参数的可访问扩展方法“Method()”(您是否缺少 using 指令或程序集引用?
解决方法 | 针对个人编写Class
- 检查
Class内是否包含Method方法。原因:引用方法名称错误 或 未更新此方法至该类中 - 使用其他存在该方法名的类引用作为替代
解决方法 | 针对三方编写Class
示例程序
#if UNITY_EDITOR
public void FromXML(string text)
{
//....
}
#endif
如上所示,FromXML 被宏定义限制在 Unity Editor 平台上可用。在其他平台上不可使用。实际开发功能中,期望一部分数据可通过本地配置文件形式加载,以方便后续修改数据。结果造成 Unity Build工程过程中无法成功编译至目标平台造成问题报错。
注意:该三方类库的使用者为非类开发者。
- 解决一:寻求类库作者询问相关替代方法
- 解决二:修改类目标平台。如上示例 删除
#if...#endif宏定义。但仅在部分情况下可用。 - 解决三:使用其他三方库 或 自定库 平替开发
更多推荐



所有评论(0)