Visual studio не открывает проект unity
Приветствую всех друзья! В прошлой статье я рассказал о настройках времени, настройки очереди выполнения скриптов и настройки тегов и слоев. Сегодня речь пойдет об интеграции Visual Studio и Unity.
Картинка для привлечения внимания из открытых источников Картинка для привлечения внимания из открытых источниковПреимущества использования Visual Studio.
Visual Studio - это комплексная среда разработки кода. Подумайте о плюсах умного автозавершения кода, умной подсветки синтаксиса и многом другом.
Разница между лицензиями Visual Studio.
Visual Studio - это инструмент интегрированной среды разработки (IDE ) от Microsoft . Visual Studio выпускается в трех версиях: Community (бесплатное использование) Professional (платное) и Enterprise (платное). Сравнение различий функций между версиями доступно на веб-сайте Visual Studio .
Использование Visual Studio с Unity.
Выполните следующие действия, чтобы настроить редактор Unity для использования Visual Studio в качестве среды IDE по умолчанию:
В Unity перейдите в меню Edit/Preferences и убедитесь, что Visual Studio выбран в качестве предпочтительного внешнего редактора.
Вы можете отредактировать файл, сохранить его и переключиться обратно в Unity, чтобы проверить свои изменения.
Несколько вещей, которые нужно остерегаться
Unity автоматически создает и поддерживает Visual Studio .sln и .csproj файлы. Всякий раз, когда кто-то добавляет/переименовывает/перемещает/удаляет файл из Unity, Unity восстанавливает его .sln и .csproj файлы. Вы также можете добавлять файлы в свое решение из Visual Studio . Затем Unity импортирует эти новые файлы, и в следующий раз, когда Unity снова создаст файлы проекта, он будет создавать их вместе с этим новым файлом.
На сегодня это все. Следующая статья будет посвящена интеграции между RenderDoc и Unity. Спасибо всем, кто дочитал эту статью до конца, подписывайтесь на канал, ставьте лайки, а для тех, у кого появились вопросы - спрашивайте в комментариях! А если вы хотите помочь данному каналу в развитии – делитесь этой статьей с друзьями в социальных сетях!
4 ответа
Оказалось, что это была проблема с моей существующей установкой Visual Studio Tools for Unity (VSTU).
Я нашел ветку, в которой пользователи сталкивались с аналогичными проблемами из-за неподдерживаемой версии VSTU, работающей на Unity5.2 и более поздних версиях. Unity 5.2+ требует VSTU 2.1 или более поздней версии для корректной работы VS с Unity, дополнительная информация для всех, кого это интересует, доступна в документации здесь.
У меня был установлен VSTU 2.3, но удаление и переустановка VSTU устранили проблему, так что, должно быть, возникла проблема с моей установкой. Если у кого-то еще есть эта или подобная проблема, вы можете загрузить последнюю версию установщика для VSTU здесь. Спасибо всем, кто откликнулся на ваши ответы и помог мне найти правильное место!
У меня возникли аналогичные проблемы при чистой загрузке существующего проекта Unity на новую установку Visual Studio Community 2019.
В конце концов, проблема для меня заключалась в том, что, хотя была установлена правильная версия VS Tools для Unity, она была отключена по умолчанию в диалоговом окне VS Manage Extensions (Extensions -> Manage Extensions). Просто нужно было нажать «Включить», перезапустить Visual Studio, и все снова заработало, как ожидалось.
Дополню сказанное выше. Я столкнулся с этой проблемой сегодня, и это заняло у меня некоторое время. В моем случае это относилось к новой установке редактора Unity. По какой-то неизвестной причине инструмент Unity, используемый в VS (intellisense), был удален. Мне пришлось переустановить это: откройте установщик Visual Studio, выберите свой проект и перейдите в раздел Игры, где находится инструмент для Unity.
у меня возникли проблемы с подключением отладчика Visual Studio к Unity-редактирование и компиляция скриптов внутри VS работает нормально-однако при нажатии "прикрепить к Unity" или "прикрепить к Unity и Play" код компилируется, но больше ничего не происходит. Если все сборки обновлены, то кнопка вообще ничего не делает. Я могу вручную запустить игру внутри Unity и запустить обновленный код, но он не подключен к отладчику VS.
У меня есть Unity 5.3.5, Visual Studio Инструменты для Unity 2.2.0.0 и Visual Studio Community 2015, установленные на моем компьютере. Все инструменты Unity отображаются в Visual Studio (прикрепление к Unity и т. д.).
Going Tools > Attach To Unity Debugger inside VS выводит правильный список открытых экземпляров редактора Unity, но выбор одного не присоединяется к нему. Как и предполагалось здесь Я попытался использовать 127.0.0.1 в качестве конечной точки IP, но это все равно не сработало. Я разрешил Unity и VS через настройки брандмауэра, чтобы нет выгода.
единства Help > About также отображаются инструменты Visual Studio для номера версии Unity, поэтому он знает о существовании плагина.
Я загрузил VS через devenv.exe /log чтобы увидеть, не происходит ли что - то странное-журнал выглядел нормально, и что инструменты Unity были загружены правильно. (Журнал здесь если это имеет какое-либо значение.)
Я сделал переустановку ремонта на VS, Unity и VS Tools для Unity, которая была долгой и трудной, но изменилась ничего.
Это тоже убивало меня. Пройдя через все, что было установлено за последние несколько дней, и удалив и переустановив, я определил, что последний Xamarin сломал интеграцию VSTU. Я даже вернулся к VSTU 2.1 безрезультатно.
только удаление Xamarin позволило отладчику подключиться к Unity.
Итак, на данный момент мы должны использовать Xamarin или VSTU, но не Оба на одной машине, если мы хотим, чтобы отладчик VS присоединился к Unity.
Это действительно проблема совместимости между VSTU и XamarinVS. Мы работали с Xamarin и мы уже исправили это в наш мастер.
в ближайшее время мы выпустим новую версию VSTU с исправлением и дополнительными функциями.
с уважением Себастьен Лебретону [во вторник]
У меня была та же проблема, за исключением того, что инструмент не печатал никакого процесса unity. Удаление Xamarin также не помогло, и на самом деле я просто не смог прикрепить unity throw инструмент. (Процесс присоединения работал, но точка останова в коде не может быть достигнута).
на самом деле, это было потому, что я переименовал "единство.exe "к единству" 5.3.4f1.EXE-файл".
Visual Studio Tools for Unity необходимо присоединить к процессу Unity, и никакое другое имя не может быть обработано для сейчас.
два дня выброшены, пытаясь переустановить все. (PS: последнее "стабильное" обновление Xamarin сломало отладку iOS на iPhone через usb, чтобы Вы тоже знали. ).
Здесь вы можете увидеть недостающий функционал:
Как видно, у transform объекта не открывается меню автозаполнения.
Я бы сказал, что вы спрашиваете об автозаполнении, а не о всплывающих подсказках. Версия Unity: 5.5.2f1 / Visual studio 2015 / Visual Studio Tools для Unity установленыВерсия Unity: 5.5.2f1
Visual Studio 2015
Visual Studio Tools for Unity установлен
Автоматического завершения нет, потому что в сценарии вместо имени проекта написано « Разные файлы ». Взгляните на изображение ниже, которое было взято из видео по вашему вопросу:
Это также может произойти из-за того, что Unity аварийно завершила работу, пока Visual Studio все еще открыта, что привело к повреждению некоторых файлов.
Это может произойти из-за того, что Unity был закрыт, а затем снова открыт, но больше не подключен к Visual Studio. При открытии Visual Studio вы получаете « Разные файлы » без автозаполнения.
Это может произойти, если Visual Studio Tools for unity не установлен.
Когда вы создаете скрипт из Unity, быстро откройте его до того, как Unity завершит его обработку или до того, как анимация круглых значков завершится.
Загрузите и установите Visual Studio Tools for unity по этой ссылке. Сделайте это, пока Unity и Visual Studio закрыты.
В редакторе Unity перейдите в Edit → Preferences . → External Tools . В раскрывающемся меню редактора внешних сценариев измените его на Visual Studio 2015 .
В Visual Studio перейдите в Инструменты → Параметры . → Инструменты для Unity → Разное . В разделе Показать значок подключения установите для него true перезапуск Visual Studio.
Все еще не исправлено?
Закройте Visual Studio.
Из Unity повторно импортируйте проект, выбрав Assets → Reimport All .
Все еще не исправлено?
Щелкните значок Показать все файлы .
Выберите сценарий, который не выполняет автозаполнение, затем щелкните правой кнопкой мыши и выберите « Включить в проект» .
Еще не исправлено?
Заслуга chrisvarnz для этого конкретного решения , которое , кажется, работает для нескольких людей.
Закройте Visual Studio
Перейдите в каталог своего проекта и удалите все сгенерированные файлы Visual Studio.
Это расширения файлов, которые нужно удалить:
Допустим, имя вашего проекта называется Target_Shoot , вот как должны выглядеть удаляемые файлы:
Больше ничего не удаляйте.
- Снова дважды щелкните сценарий в Unity, который должен создать новый файл Visual Studio, затем откройте Visual Studio. Это может решить вашу проблему.
Если не работает, проверьте, не возникает ли у вас эта ошибка:
Задача GetReferenceNearestTargetFrameworkTask не найдена.
Установите NuGet PackageManager из здесь .
Перезапустите Visual Visual.
См. Этот ответ для получения дополнительной информации.
Спасибо за указатель на разные файлы! Закрытие VS, удаление проектов VS и sln, а затем двойной щелчок по сценарию в Unity (в результате чего регенерируют файлы проекта и повторно открывают VS) исправили это для меня. Я бы рекомендовал попробовать это перед кнопкой «повторно импортировать все», так как это обед / ночь для нетривиальных проектов. Это хороший совет. Надеюсь, что кто-нибудь, читающий это, увидит этот комментарий В большинстве случаев это вызвано созданием новых скриптов или перемещением их в разные папки в Unity. Всякий раз , когда перезапуск Unity и VS не решает, я simoly также удалять *.csproj и *.sln файлы и запустить Unity , чем. Обычно это срабатывает Решение @chrisvarnz сработало для меня после попытки всех этих других предложений. @gollumullog Хорошо. Поскольку это сработало для нескольких людей, я обновил свой ответ, включив это.Теперь, если Visual Studio уже запущена, перейдите в Visual Studio, он попросит перезагрузить проект. Перезагрузите проект. Проверьте, работает ли он, если не закройте Visual Studio. Теперь откройте файл cs из редактора Unity, и теперь он должен работать.
То же и со мной, спасибо! Пробовал все, но только это исправило. У меня это тоже сработало. Кроме того, еще одна вещь, которую я сделал в Unity 2020.2.0a13, - это снятие флажка и еще раз отметка в Edit / Project Settings / Player / Other Settings: Auto Graphics API. После перезапуска Visual Studio автозаполнение вернулось: DЯ нашел другой способ решить эту проблему более удобным способом:
- Выберите поврежденный файл в обозревателе решений.
- Откройте его свойства.
- Переключите поле «Build Action» с «Compile» на «None».
- Затем переключите его обратно на «Компилировать».
Это каким-то образом убьет синхронизацию между Unity и Visual Studio.
В следующий раз, когда Visual Studio перезагрузит проект, появится предупреждение. Просто нажмите «Отменить».
Выгрузите и перезагрузите проект в Visual Studio:
- щелкните правой кнопкой мыши свой проект в обозревателе решений
- выберите " Выгрузить проект"
- выберите Reload Project
Я обнаружил, что это решение работает лучше всего (проще всего), столкнувшись с проблемой несколько раз.
Спасибо за помощь! Это сработало, но я чувствую, что мы вернулись в 90-е и нам нужно перезапустить Windows, только на этот раз это VS 2017.Если вы выполнили все вышеперечисленное, но по-прежнему не работает, просто попробуйте следующее: Примечание: вы должны были обновить VS.
Надеюсь, тебе это тоже поможет.
Сегодня я столкнулся с теми же проблемами, используя Visual Studio 2017 15.4.5 с Unity 2017.
Мне удалось решить эту проблему, щелкнув правой кнопкой мыши проект в Visual Studio и изменив целевую структуру с 3.5 на 4.5.
Надеюсь, это поможет кому-нибудь еще в подобном сценарии.
Два альтернативных варианта:
@singleton указал мне в этом направлении. Вместо изменения целевого объекта в Visual Studio вы должны изменить его в Unity, поскольку проект создается автоматически.
Затем из Unity перейдите в PlayerSettings и в разделе «Other Settings» измените «Scripting Runtime Version» со «Stable 3.5» на «Experimental 4.6».
Однако это не помогло мне.
Я заметил, что все ссылки на код, связанный с Unity, были отмечены желтым предупреждением. Проверьте свои журналы ошибок и посмотрите, так ли это. В частности, проверьте, появляется ли следующая ошибка: getreferenceNearestTargetframeworkTask
Если да, попробуйте: снова запустите установщик Visual Studio.
В Build Tools 2017 нажмите Modify,
Убедитесь, что отмечены флажки «Цели Nuget и задачи сборки». Это должно быть отмечено, если вы нажмете на разработку универсальной платформы Windows.
Читайте также: