为什么在我要构建游戏时会出现此错误CS1061?

时间:2019-04-30 04:34:39

标签: c# unity3d

游戏可以很好地进行,但是当buid到apk却出现错误

资产/源/LuaWrap/AnimatorOverrideControllerWrap.cs(214,21):错误CS1061:类型UnityEngine.AnimatorOverrideController' does not contain a definition for PerformOverrideClipListCleanup',并且找不到扩展方法PerformOverrideClipListCleanup' of type UnityEngine.AnimatorOverrideController'(您是否缺少使用指令还是程序集引用?)

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

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

1 个答案:

答案 0 :(得分:1)

AnimatorOverrideController source code

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

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


您不能在任何内部版本中使用它,并且应排除您的方法以及使用#if Pre-Processors调用它的任何内容

#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

因此将以相同的方式删除此代码块。