Unity解決dll庫匯入新專案時路徑不存在的問題
阿新 • • 發佈:2019-01-22
程式碼如下:
using UnityEngine; using System.Collections; using System; using System.IO; public class MyPluginClass { static public void SetPluginPath() { Debug.Log("MyPluginClass: " + Application.dataPath); string currentPath = System.Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Process); #if UNITY_5 #if UNITY_EDITOR_32 string dllPath = Application.dataPath + Path.AltDirectorySeparatorChar + "Plugins" + Path.AltDirectorySeparatorChar + "x86"; #elif UNITY_EDITOR_64 string dllPath = Application.dataPath + Path.AltDirectorySeparatorChar + "Plugins" + Path.AltDirectorySeparatorChar + "x86_64"; #else //build runtime string dllPath = Application.dataPath + Path.AltDirectorySeparatorChar + "Plugins"; #endif #else #if UNITY_EDITOR string dllPath = Application.dataPath + Path.AltDirectorySeparatorChar + "Plugins" + Path.AltDirectorySeparatorChar + "x86"; #else string dllPath = Application.dataPath + Path.AltDirectorySeparatorChar + "Plugins"; #endif #endif // Debug.Log("MyPluginClass: " + currentPath + Path.PathSeparator + dllPath); //string str = currentPath.Remove(currentPath.LastIndexOf(':')-2); //Environment.SetEnvironmentVariable("PATH", str, EnvironmentVariableTarget.Process); if (currentPath.Contains(dllPath) == false) { Environment.SetEnvironmentVariable("PATH", currentPath + Path.PathSeparator + dllPath, EnvironmentVariableTarget.Process); } else { Debug.Log("dll path existing!!"); Debug.Log("currentPath: " + currentPath); } } }