Unity3d 加载UnityEngine.UI.dll失败的解决方案(2017.2)

来源:互联网 发布:淮南seo 编辑:程序博客网 时间:2024/05/16 14:55

在 Unity 官方论坛找到的解决方法是重新加载 UnityEngine.UI.dll ,把下面的脚本扔到项目里,然后右键菜单中就会出现 


编写一个这样的脚本

using UnityEngine;  using System.Collections.Generic;  using UnityEditor;  using System.Text.RegularExpressions;  using System.IO;  using System.Text;    public class ReimportUnityEngineUI {      [MenuItem("Assets/Reimport UI Assemblies", false, 100)]      public static void ReimportUI() {  #if UNITY_4_6          var path = EditorApplication.applicationContentsPath + "/UnityExtensions/Unity/GUISystem/{0}/{1}";          var version = Regex.Match(Application.unityVersion, @"^[0-9]+\.[0-9]+\.[0-9]+").Value;  #elif UNITY_4_7          var path = EditorApplication.applicationContentsPath + "/UnityExtensions/Unity/GUISystem/{0}/{1}";          var version = Regex.Match(Application.unityVersion, @"^[0-9]+\.[0-9]+\.[0-9]+").Value;  #else          var path = EditorApplication.applicationContentsPath + "/UnityExtensions/Unity/GUISystem/{1}";          var version = string.Empty;  #endif          string engineDll = string.Format(path, version, "UnityEngine.UI.dll");          string editorDll = string.Format(path, version, "Editor/UnityEditor.UI.dll");          ReimportDll(engineDll);          ReimportDll(editorDll);        }      static void ReimportDll(string path) {          if (File.Exists(path))              AssetDatabase.ImportAsset(path, ImportAssetOptions.ForceUpdate | ImportAssetOptions.DontDownloadFromCacheServer);          else              Debug.LogError(string.Format("DLL not found {0}", path));      }  }   

编译后在编辑器界面点击操作执行。

阅读全文
0 0