为什么当我想构建游戏时出现此错误 CS1061


游戏

可以玩得很好,但是当Buid到apk但有错误时

Assets/Source/LuaWrap/AnimatorOverrideControllerWrap.cs(214,21(:错误 CS1061:键入 UnityEngine.AnimatorOverrideController' does not contain a definition for PerformOverrideClipListCleanup',并且找不到 UnityEngine.AnimatorOverrideController' PerformOverrideClipListCleanup' of type扩展方法(是否缺少 using 指令或程序集引用?

我已经在网上寻找解决方案,但仍然找不到确切的解决方案

[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int PerformOverrideClipListCleanup(IntPtr L)
{
    LuaScriptMgr.CheckArgsCount(L, 1);
    AnimatorOverrideController obj = LuaScriptMgr.GetUnityObject<AnimatorOverrideController>(L, 1);
    obj.PerformOverrideClipListCleanup();
    return 0;
}

来自AnimatorOverrideController源代码

[NativeConditional("UNITY_EDITOR")]
extern internal void PerformOverrideClipListCleanup();

您可以看到它仅存在于 Unity 编辑器本身UNITY_EDITOR中,不会内置到任何构建应用程序中。


您不能在任何构建中使用它,并且应该排除您的方法以及使用预处理器调用它的任何内容#if

#if UNITY_EDITOR       
    [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
    static int PerformOverrideClipListCleanup(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 1);
        AnimatorOverrideController obj = LuaScriptMgr.GetUnityObject<AnimatorOverrideController>(L, 1);
        obj.PerformOverrideClipListCleanup();
        return 0;
    }
#endif

因此,此代码块将以相同的方式在构建中剥离。

相关内容

最新更新