Unity больше не работает с Visual Studio и показывает «Недопустимые символы в пути» - PullRequest
1 голос
/ 12 апреля 2019

У моего Unity странная ошибка. Сначала все работало нормально, но потом я переустанавливал его каждый раз, потому что мне нужны были разные версии. Теперь установщик даже не дает мне мнения, чтобы использовать его с Visual Studio. Поэтому я больше не могу идти в "Open C # Project". Файлы сценариев открываются с помощью MonoDevelop, но он не дает подсказок для вещей, связанных с Unity (таких как Vector3, Quaternion и т. Д.). Кроме того, когда я захожу в «Настройки ...», единственными параметрами являются следующие:

enter image description here

Кроме того, мое единство показывает ошибку в каждом проекте, но я все еще могу строить свои проекты, потому что ошибки исчезают с «Очистить».

enter image description here

ArgumentException: Illegal characters in path.
System.IO.Path.IsPathRooted (System.String path) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
System.IO.Path.InsecureGetFullPath (System.String path) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
System.IO.Path.GetFullPath (System.String path) (at <d7ac571ca2d04b2f981d0d886fa067cf>:0)
UnityEditor.Utils.Paths.AreEqual (System.String pathA, System.String pathB, System.Boolean ignoreCase) (at C:/buildslave/unity/build/Editor/Mono/Utils/Paths.cs:118)
UnityEditor.VisualStudioIntegration.UnityVSSupport+<IsVisualStudio>c__AnonStorey0.<>m__1 (UnityEditor.VisualStudioPath v) (at C:/buildslave/unity/build/Editor/Mono/VisualStudioIntegration/UnityVSSupport.cs:183)
System.Linq.Enumerable.Any[TSource] (System.Collections.Generic.IEnumerable`1[T] source, System.Func`2[T,TResult] predicate) (at <1b13ba6391c74847bbc3eddc86df7eee>:0)
UnityEditor.VisualStudioIntegration.UnityVSSupport+<IsVisualStudio>c__AnonStorey0.<>m__0 (System.Collections.Generic.KeyValuePair`2[TKey,TValue] kvp) (at C:/buildslave/unity/build/Editor/Mono/VisualStudioIntegration/UnityVSSupport.cs:183)
System.Linq.Enumerable+WhereEnumerableIterator`1[TSource].ToArray () (at <1b13ba6391c74847bbc3eddc86df7eee>:0)
System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) (at <1b13ba6391c74847bbc3eddc86df7eee>:0)
UnityEditor.VisualStudioIntegration.UnityVSSupport.IsVisualStudio (System.String externalEditor, UnityEditor.VisualStudioVersion& vsVersion) (at C:/buildslave/unity/build/Editor/Mono/VisualStudioIntegration/UnityVSSupport.cs:183)
UnityEditor.VisualStudioIntegration.UnityVSSupport.InitializeVisualStudio (System.String externalEditor) (at C:/buildslave/unity/build/Editor/Mono/VisualStudioIntegration/UnityVSSupport.cs:154)
UnityEditor.VisualStudioIntegration.UnityVSSupport.Initialize (System.String editorPath) (at C:/buildslave/unity/build/Editor/Mono/VisualStudioIntegration/UnityVSSupport.cs:37)
UnityEditor.VisualStudioIntegration.UnityVSSupport.InitializeUnityVSSupport () (at C:/buildslave/unity/build/Editor/Mono/VisualStudioIntegration/UnityVSSupport.cs:23)

1 Ответ

0 голосов
/ 21 июня 2019

У меня была такая же проблема.Моя конфигурация для редактора сценариев по умолчанию была повреждена с неверным путем, некоторые исключения были сгенерированы, а некоторые части редактора не работали.

Я не знаю, где хранится эта конфигурация, но ее можно изменить с помощью сценария Unityнапример:

using UnityEngine;
using UnityEditor;

public class NewBehaviourScript : MonoBehaviour
{
    void Start()
    {
        Debug.Log ("kScriptsDefaultApp = " + EditorPrefs.GetString("kScriptsDefaultApp"));
        EditorPrefs.SetString("kScriptsDefaultApp", "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\Common7\\IDE\\devenv.exe");
    }
}

Присоедините этот скрипт к некоторому объекту Unity и запустите проект, чтобы изменить редактор скриптов по умолчанию.Эта конфигурация хранится в Unity.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...