VS更新后出现Input歧义引用错误,修改命名空间仍无效求助
解决Unity Input歧义引用问题
针对你遇到的'Input' is an ambiguous reference between 'UnityEngine.Input' and 'UnityEngine.Windows.Input'错误,给你几个实用的解决办法:
检查并移除多余的命名空间引用
看看代码顶部有没有using UnityEngine.Windows;这一行,直接删掉即可。这个命名空间里的Input类和UnityEngine核心的Input类冲突,删掉后直接用Input.GetAxis()就不会有歧义。给命名空间设置别名
如果确实需要保留UnityEngine.Windows的引用,可以在代码顶部加一行别名声明:using Input = UnityEngine.Input;之后代码里的
Input会默认指向UnityEngine.Input,不用每次都写全命名空间。清理VS缓存并重新生成
有时候VS更新后缓存会出问题,就算改了代码也不生效。可以右键解决方案→清理解决方案,再右键→生成解决方案;或者直接关掉VS和Unity,重新打开项目试试。
你说改UnityEngine.Input没解决,大概率是缓存没清或者还有UnityEngine.Windows的引用在干扰,先排查这两点。
内容的提问来源于stack exchange,提问作者Ahmet Bıçakı
相关产品推荐
相关产品推荐

