Visual studio не видит проекты
В этом разделе рассмотрены решения по устранению проблем, типичных для набора средств Visual Studio для Unity, приведено описание известных проблем и показано, как улучшить функционирование набора средств Visual Studio для Unity с помощью отчетов об ошибках.
Устранение неполадок соединения между Unity и Visual Studio
Проверка Editor Attaching включена или Code Optimization On Startup имеет значение Debug
В меню Unity выберите Edit / Preferences .
В зависимости от используемой версии Unity:
- Убедитесь, что Code Optimization On Startup задано значение Debug .
- Или выберите вкладку External Tools . Убедитесь, что Editor Attaching флажок включен.
Не удается подключить
- Попробуйте временно отключить антивирусную программу или создать правила исключения для VS и Unity.
- Попробуйте временно отключить брандмауэр или создать правила, разрешающие сетевое взаимодействие между VS и Unity по протоколам TCP/UDP.
- Некоторые программы, например Team Viewer могут препятствовать обнаружению процессов. Попробуйте временно остановить все лишнее программное обеспечение, чтобы выяснить, повлияет ли это на что-либо.
- Не переименовывайте основной исполняемый файл Unity, так как VSTU отслеживают только процессы "Unity.exe".
Сбои Visual Studio
Эта проблема может быть вызвана повреждением кэша MEF в Visual Studio.
Попробуйте удалить следующую папку, чтобы сбросить кэш MEF (перед этим закройте Visual Studio):
Visual Studio не отвечает
Некоторые подключаемые модули Unity, такие как Parse, FMOD, UMP (Universal Media Player), ZFBrowser или Embedded Browser, используют собственные потоки. Эта проблема возникает, когда подключаемый модуль подключает собственный поток к среде выполнения, что блокирует вызовы ОС. Это означает, что Unity не может прервать этот поток для отладчика (или перезагрузки домена) и перестает отвечать на запросы.
Для FMOD существует обходной путь. Вы можете передать флаг инициализации FMOD_STUDIO_INIT_SYNCHRONOUS_UPDATE , чтобы отключить асинхронную обработку и выполнять всю обработку в основном потоке.
Если вы разрабатываете собственный подключаемый модуль, рекомендуется использовать асинхронные вызовы процедур (APC) и особенно SleepEx , , SignalObjectAndWait или MsgWaitForMultipleObjectsEx``WaitForMultipleObjectsEx``WaitForSingleObjectEx функции для правильного взаимодействия с Unity и Mono, когда отладчику необходимо приостановить потоки.
Несовместимый проект в Visual Studio
Очень важно знать, что Visual Studio сохраняет состояние "Несовместимо" в параметрах проекта и не будет пытаться перезагрузить проект, пока вы не будете явно использовать Reload Project . Поэтому после каждого шага устранения неполадок убедитесь, что вы попытаетесь повторно открыть решение и попытаетесь щелкнуть правой кнопкой мыши все несовместимые проекты и выбрать Reload Project .
Дополнительные перезагрузки или закрытие всех открытых окон в Visual Studio
Никогда не работайте с файлами проектов непосредственно из обработчика ресурсов или иного средства. Если вам действительно необходимо совершить операции с файлом проекта, мы предоставляем для этого интерфейс API. См. раздел Проблемы со ссылками на сборку.
В случае исключений не происходит останов отладчика
В новой среде выполнения Unity (эквивалентной версии .NET 4.6) появился новый способ управления пользовательскими исключениями. В результате все исключения считаются "обработанными пользователем", даже если они произошли вне блока try/catch. Поэтому их необходимо явным образом задавать в окне параметров исключений, если требуется останов отладчика.
В ОС Windows система Visual Studio предлагает скачать целевую платформу Unity
Проблемы со ссылкой на сборку или свойством проекта
В последних версиях Visual Studio и Unity лучше всего использовать пользовательский Directory.Build.props файл вместе с созданными проектами. После этого вы сможете внести свой вклад в структуру проекта, не вмешиваясь в процесс создания.
Точки останова с предупреждением
Если Visual Studio не удается найти исходное расположение для определенной точки останова, рядом с ней отображается предупреждение. Убедитесь, что используемый вами скрипт правильно загружен и используется в текущей сцене Unity.
Точки останова не срабатывают
Не удается выполнить отладку проигрывателей Android
Мы используем для обнаружения проигрывателей многоадресную рассылку (это стандартный механизм, применяемый в Unity), но затем применяется простое соединение TCP для подключения отладчика. Этап обнаружения — основная проблема для устройств Android.
Связь через Wi-Fi универсальна, однако она слишком медленная по сравнению с USB из-за задержки. Мы наблюдали отсутствие должной поддержки многоадресной рассылки у некоторых маршрутизаторов или устройств (этим известна серия Nexus).
Связь по USB обладает отличной скоростью для отладки. Инструменты Visual Studio для Unity теперь могут обнаруживать устройства USB и согласовывать с сервером ADB правильную переадресацию портов для отладки.
Проблемы с intelliSense или цветом кода
Попробуйте обновить Visual Studio до последней версии. Выполните те же действия по устранению неполадок, что и для несовместимых проектов.
Известные проблемы
При отладке Unity иногда аварийно завершает работу.
При отладке Unity иногда зависает.
Пошаговая отладка с заходом и выходом из методов иногда ведет себя некорректно, особенно в итераторах или внутри инструкций switch.
Отчеты об ошибках
Помогите нам улучшить качество набора средств Visual Studio для Unity: отправляйте нам отчеты об ошибках при аварийном выходе, зависании или в случае других ошибок. Эти сведения помогают нам определять причину и устранять проблемы в наборе средств Visual Studio для Unity. Спасибо!
Как сообщить об ошибке в случае зависания Visual Studio
Существуют отчеты о том, что иногда Visual Studio зависает при отладке с помощью набора средств Visual Studio для Unity, но чтобы разобраться в проблеме, нам требуется больше данных. Вы можете помочь нам разобраться с проблемой, если выполните следующие действия.
Создание отчета о зависании Visual Studio во время отладки с помощью набора средств Visual Studio для Unity
Откройте новый экземпляр Visual Studio.
Откройте диалоговое окно "Присоединение к процессу". В новом экземпляре Visual Studio в главном меню выберите Отладка, Присоединение к процессу.
Присоедините отладчик к замороженному экземпляру Visual Studio. В диалоговом окне Присоединение к процессу выберите замороженный экземпляр Visual Studio в таблице Доступные процессы , а затем нажмите кнопку Присоединить .
Приостановите отладчик. В новом экземпляре Visual Studio в главном меню выберите Отладка, Прервать все или просто нажмите CTRL+ALT+BREAK.
Создайте дамп потока. В окне командной строки введите следующую команду и нажмите клавишу ВВОД:
Возможно, сначала будет нужно отобразить окно Команда . В Visual Studio в главном меню выберите Представление, Другие окна, Командное окно.
Откройте терминал и получите идентификатор процесса Visual Studio для Mac:
Запустите отладчик lldb.
Подключитесь к экземпляру Visual Studio для Mac, используя идентификатор процесса:
Извлеките трассировку стека для всех потоков:
Это может быть очень простой вопрос, но я не смог его понять, поэтому любая помощь приветствуется.
У меня есть заголовок, который находится в общей папке, потому что я хочу использовать его, например, в нескольких проектах:
C: \ пользователь \ geninclude \ программа \ header.h
Я создал новый пустой проект с очень простым main, в основном я поставил
Затем я перешел к свойствам проекта, и в VC ++ во включенных каталогах добавил C: \ user \ geninclude \
Но когда я попытался собрать программу, программа сообщает мне, что не может найти header.h, потому что его нет в текущем каталоге или в пути к системе сборки.
Я также пробовал в свойствах проекта в общих дополнительных каталогах C / C ++ добавить C: \ user \ geninclude \, но все еще та же ошибка.
Я знаю, что мне не хватает чего-то простого, но я не знаю чего, я новичок в этом, просто учусь.
Для справки я использую Visual Studio 2013.
Спасибо заранее за вашу помощь.
ОБНОВЛЕНИЕ: Спасибо всем за ваши добрые ответы, я перепробовал все, что вы мне сказали (проверьте выпуск и отладку в обоих случаях, измените / на \ и <> на "", и дважды проверьте заголовок, но система все равно не видит это действительно очень странно. Я буду пытаться .
Пожалуйста, проверьте, действительно ли ваш файл является файлом заголовка, иначе он не появится в include.
Что вы также можете сделать (в качестве обходного пути, если вам нужен этот метод быстро), так это поместить файл заголовка (или папку с файлами заголовков) в папку «include» Visual Studio. Путь должен выглядеть так: «C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ VC \ include»
PS: Вам также следует проверить конфигурацию свойств при добавлении пути к каталогам включения VC ++. Вы можете добавить путь к конфигурации отладки и попытаться запустить ее в режиме выпуска.
Другая вещь, которая может привести к тому, что включаемые файлы не будут захвачены, - это разница между платформой, установленной на страницах свойств вашего проекта c ++, и вашей «платформой активного решения» в диспетчере конфигурации. Можно просто проверить, установлен ли один на x64, а другой на x86
Для пользователей Visual Studio 2019:
Обоснование: вы могли загрузить проект из Интернета, и они использовали другую версию Visual Studio в качестве платформы .
Обоснование: вы могли загрузить проект из Интернета, и они использовали версию SDK 8.0 , в то время как у вас есть SDK 10.0 0
Ты действительно хочешь
Свойства проекта -> Свойства конфигурации -> C / C ++ -> Дополнительные каталоги включения
Проверьте, правильно ли вы указали путь. например, я написал cpp вместо c ++ и поэтому много страдал и потратил, как час, на поиски тут и там.
Я следовал инструкциям этого ссылка, но мой шаблон не отображается, когда я пытаюсь создать новый элемент в VS2019. Кто-нибудь знает, почему это происходит?
2 ответа
Я следовал инструкциям этой ссылки, но мой шаблон не отображается, когда я пытаюсь создать новый элемент в VS2019. Кто-нибудь знает, почему это происходит?
Для пользовательского шаблона проекта новый пользовательский интерфейс VS2019 для создания проектов не может найти пользовательские шаблоны проектов через фильтры, и эти шаблоны фактически существуют в нем.
All Langages , All Platforms и All Project Types и поле поиска теряют способность фильтровать пользовательские шаблоны проектов, и это известная проблема в VS2019. Но это все еще происходит в последней версии VS2019 16.4.2 . Если вы хотите решить эту досадную проблему, вы можете сообщить о проблеме на DC Forum Чтобы сообщить об этом ненормальном поведении для поддержки. Это может быть длительный процесс, или вы можете попробовать мои предложения ниже:
Предложение
1) . Не используйте фильтры в пользовательском интерфейсе проекта VS2019, а затем перетащите в нижнюю часть всех шаблонов, чтобы найти пользовательский шаблон, который обычно вставляется после всех шаблонов по умолчанию.
Эта картинка показывает это внизу всех шаблонов.
2) перейдите на использование VS2017, в котором нет ошибок по этому поводу.
Я создал вашу информацию и проверил на моей стороне без ошибок мою среду:
Win10 Enterprise 1903 ; Сообщество VS2019 16.4.2
Мои шаги .
2) , затем нажмите "Экспортировать шаблон . " в меню Проект и отдельно экспортируйте эти проекты как шаблон проекта .
3) откройте папку и разархивируйте ее в ту же папку с именем src .
Здесь показаны две распакованные папки проекта в папке src .
Затем это показывает окончательный вид папки, а папка src содержит две папки проекта, как показано на рисунке выше.
> Я нашел этот шаблон на своей стороне, и если вы его не видите, восстановить VS, а затем отключить любые сторонние расширения в меню Расширение -> Управление расширением, чтобы предотвратить вмешательство в VS. Кроме того, поскольку ваш VS - 16.4.1, вы можете попробовать обновить его до 16.4.2.
Обновление 2
С вашим примером, я думаю, я нашел проблему. Проблема в том, что root.template не может найти два содержащихся проекта:
Вы помещаете root.template в папку Src , а в файл root.vstemplate пишете:
Он использует относительные пути для поиска этих файлов, а текущий путь, по которому находится ваш root.vstemplate , не имеет src , поэтому он не может найти.
Решение состоит в том, что вы должны поместить root.vstemplate в тот же каталог, что и папка SRC , а затем сжать эти два. После этого поместите этот Multiple.zip в C:\Users\xxx\Documents\Visual Studio 2019\Templates\ProjectTemplates .
Надеюсь, это поможет вам.
Оригинальная документация обычно пропускает один или два шага, что выглядит очевидным после того, как вы сделали много шаблонов.
Если ваше приложение пытается использовать неработающую ссылку, создается ошибка исключения. Неспособность найти компонент, на который указывает ссылка, является явным признаком ошибки, однако есть несколько ситуаций, в которых ссылка считается нерабочей. Эти варианты показаны в приведенном ниже списке:
Неверный или неполный путь для ссылок проекта.
Файл, на который указывает ссылка, удален.
Файл, на который указывает ссылка, переименован.
Сбой подключения к сети или проверки подлинности.
Ссылка указывает на COM-компонент, который не установлен на данном компьютере.
Ниже приведены способы устранения этих проблем.
Ссылки на файлы в сборках задаются по абсолютным путям в файле проекта. Таким образом, в локальном окружении пользователей, работающих с несколькими разработчиками, может отсутствовать сборка, на которую указывает ссылка. Чтобы избежать этих ошибок, в таких случаях лучше добавлять ссылки между проектами. Дополнительные сведения см. в разделе Программирование с использованием сборок.
Неправильный путь для ссылок
Если проекты используются совместно на разных компьютерах, некоторые ссылки могут быть не найдены, если компонент находится на этих компьютерах в разных папках. Ссылки сохраняются под именем файла компонента (например, MyComponent). Когда в проект добавляется ссылка, расположение папки для файла компонента (например, C:\MyComponents) добавляется к свойству проекта ReferencePath.
Чтобы устранить эту проблему, можно удалить неработающую ссылку и заменить в диалоговом окне Добавление ссылки. Другое решение заключается в том, чтобы использовать элемент Путь для ссылок на страницах свойств проекта и изменить папки в списке, указав правильное расположение. Свойство Путь для ссылок сохраняется для каждого пользователя на каждом компьютере. Таким образом, изменение пути для ссылок не затрагивает других пользователей проекта.
Ссылки между проектами лишены подобных проблем. Поэтому по мере возможности следует использовать их вместо ссылок на файлы.
Исправление неработающей ссылки проекта с помощью исправления пути для ссылок
В обозревателе решений щелкните правой кнопкой мыши узел проекта и выберите пункт Свойства.
Открывается конструктор проектов.
Если вы используете Visual Basic, выберите страницу Ссылки и нажмите кнопку Пути для ссылок. В диалоговом окне Пути для ссылок введите путь к папке с элементом, на который нужно сослаться, в поле Папка, а затем нажмите кнопку Добавить папку.
Файл, на который указывает ссылка, удален.
Вполне возможно, что файл, на который указывает ссылка, был удален и больше не существует на диске.
Исправление неработающей ссылки проекта для файла, который больше не существует на диске
Если ссылка находится в другом расположении на компьютере, считайте ее оттуда.
Файл, на который указывает ссылка, переименован.
Файл, на который указывает ссылка, мог быть переименован.
Исправление неработающей ссылки, указывающую на переименованный файл
Удалите ссылку, а затем добавьте ссылку на переименованный файл.
Если ссылка находится в другом расположении на компьютере, нужно считать ее оттуда.
Сбой подключения к сети или проверки подлинности
Недоступность файлов может быть вызвана несколькими возможными причинами, например ошибкой сетевого соединения или ошибкой проверки подлинности. В каждом отдельном случае могут использоваться уникальные средства восстановления. Например, вам может потребоваться обратиться к локальному администратору для получения доступа к необходимым ресурсам. Однако удаление ссылки и изменение использующего ее кода работает всегда.
На компьютере не установлен COM-компонент.
Визуал Студио не отображает проект, он его открывает, но там нет ни вкладки с кодом ни с самой формой
Может надо нажать треугольник рядом с WindowsFormsApp3 и посмореть что там?
В частности два раза на щелкнуть на коде от дизайнера форм после раскрытия. ^_^
Если ошибка - уже писать сюда.
Реально хотя-бы ветку раскрыли, а то не видно что с проектом _вообще_!
Может и всё нормально с ним. Просто все окна закрыты =)
P.S: Windows Forms + C++ крайне не рекомендую. Собственно и Microsoft сам не в воссторге от своей-же "технологии" скрещивания удава с носорогом.
Танец с бубном от компании Microsoft :)
Для того, чтобы создать проект Windows Forms в среде Visual Studio C++2017 необходимо убедиться в том, что пакет C++/CLI установлен. Для этого запустите Visual Studio Installer и нажмите кнопку Изменить. На вкладке Рабочие нагрузки для общего компонента Разработка классических приложений на C++ должна быть установлена галочка. Если её нет, то установите её. На вкладке Отдельные компоненты в окне слева прокрутите список компонентов вниз до раздела Компиляторы, средства сборки и среды выполнения и напротив компонента Поддержка C++/CLI установите галочку. В правом нижнем углу нажмите кнопу Изменить. Начнётся загрузка, после которой будет выполнена последующая установка. Если галочки везде проставлены, то можно перейти к выполнению первого пункта Инструкции. Если нет, то закройте Visual Studio и откройте её снова. После того как откроется окно среды выполните следующие пункты:
using namespace System;
using namespace System::Windows::Forms;
[STAThreadAttribute]
void Main(array^ args) Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
WindowsForms::MyForm form;
Application::Run(%form);
>
22. Сохраните файл, закройте, а затем снова откройте Visual Studio и запустите свой проект: Файл / Последние проекты и решения
23. Нажмите клавишу F5
Читайте также: