В настоящее время мы оцениваем новую Visual Studio 2015 и столкнулись со странной проблемой с IntelliSense. Когда я скомпилировал наше основное решение с новой студией, сборка прошла успешно, но все же показано 6 ошибок.
Я обнаружил, что это не настоящая ошибка, а всего лишь ошибка intellisense. Код определенно правильный, и все успешно скомпилировано. Однако код отмечен красным цветом, и ошибки отображаются в списке ошибок.
Все 6 ошибок имеют одинаковое происхождение. Это простой вызов конструктора. Как ни странно, но встречаются и такие же конструкторы без ошибок.
Сообщение об ошибке:
Code: CS1729
Message: '<the class>' does not contain a constructor that takes that many arguments.
Project: <the project name>
File: <the path to the file>
Новая студия была установлена на недавно установленную Windows 7 без какого-либо устаревшего программного обеспечения (без VS13).
Я уже пытался очистить кеши, удалить файл suo, удалить каталоги bin и obj, очистить и перестроить решение и т. Д. Но ничего не сработало.
Может ли кто-нибудь объяснить мне такое поведение?
Ответы:
Также была эта проблема с перенесенным проектом, поэтому я сослался на dll Microsoft.CSharp. В некоторых проектах мне нужно было удалить и снова добавить ссылку в проект.
источник
У меня были тысячи ошибок intellisense и 0 ошибок сборки. После удаления
.suo
файла и перезапуска VS intellisense ошибки исчезли.Suo
файл расположен относительно источника в:.vs\SolutionName\v14\.suo
Согласно комментарию: Остерегайтесь, что
*.suo
это скрытый файл.Изменить: согласно комментариям, VS2017 имеет ту же проблему, поэтому вы можете использовать аналогичное решение: Удалить.
vs\SolutionName\v15\.suo
источник
*.suo
в некоторых случаях файлы могут быть скрыты. Поэтому вам нужно включить этуView Hidden files
опцию в проводнике Windows.<%=Foo%>
говорят, что переменная не объявлена, но все работает во время выполнения.Возникла аналогичная проблема в Visual Studio 2017 ASP.Net Core Project. Следующие шаги помогли мне
источник
Проблема такая же, как и у других, но с другим разрешением. Размещение сообщения на случай, если я смогу помочь кому-то другому.
Запуск Visual Studio 2017 15.5.2. Я использую Git и часто переключаю ветки. Несколько недель назад я начал заставлять редакторов показывать мне ошибки (все связанные с типами, которые он не мог найти, хотя ссылки были действительными). Компиляция отлично работала. Я подтвердил ту же проблему в предварительной версии VS 2017 15.6 (6 января 2018 г.). Я бы попытался удалить кеш, файлы SUO или папки bin / obj и не повлиял. Сначала казалось, что это работает. Снова откройте Visual Studio, и все будет хорошо. Используйте «Rebuild Solution», и IntelliSense вернет ошибку. Я даже попытался удалить / переустановить Visual Studio.
У меня была такая же проблема на двух машинах с одинаковой версией Visual Studio.
Если посмотреть на ошибки об отсутствующих типах, оказалось, что все они связаны с двумя проектами, на которые есть ссылки. Одна из этих ссылок была общим проектом, используемым практически всеми другими проектами в решении, но одна из них была небольшим проектом без множества ссылок. Так уж получилось, что на этот небольшой проект также ссылался мой более крупный общий проект. В Visual Studio я выгрузил небольшой проект и перезагрузил его. Ошибки ушли! Ошибки не вернулись на Rebuild Solution.
Затем я переключил ветки Git, и все ошибки вернулись. К счастью, я повторил описанные выше шаги по выгрузке / перезагрузке небольшого проекта, и ошибки исчезли.
Каждый раз, когда я переключаю ветки Git, ошибки возвращаются, пока я не повторю этот процесс. Нет изменений между ветвями Git для меньшего проекта, который я выгружаю / перезагружаю. Непонятно, почему эта последовательность решает мою проблему.
источник
Также была эта проблема (заголовок, а не конкретное сообщение об ошибке), а также волнистые линии в редакторе. Первая волнистая линия находится под первой
#include
оператором, который называет предварительно скомпилированный заголовок. Intellisense не может включить предварительно скомпилированный заголовок, но не отмечает это как ошибку; вместо этого он перечисляет ошибки ниже по файлу, в коде, который (совершенно справедливо) полагается на объявления в предварительно скомпилированном заголовке.Причина, по которой Intellisense не находит предварительно скомпилированный заголовок в моей среде, заключается в том, что указанный заголовок не является фактическим файлом. Это не обязательно должно быть ни в какой другой версии VC или gcc, которую я использовал, ни в компиляторе 2015 года, если настройки предварительно скомпилированного заголовка настроены правильно. Очевидно, больше не для Intellisense. Не совсем уверен, что в 2013 году все было по-другому, может, я просто не заметил.
В том маловероятном случае, если это будет проблема, о которой здесь сообщается, решение простое: создайте небольшой файл с вымышленным именем предварительно скомпилированного заголовка, как указано в
#include
директивах, и позвольте этому файлу включать фактическое имя предварительно скомпилированного заголовка.Если вам интересно ... почему это различие между именем предварительно скомпилированного заголовка в операторе '#include' и фактическим именем файла предварительно скомпилированного заголовка? Именно потому, что он гарантирует правильную настройку параметров предварительно скомпилированного заголовка. Если предварительно скомпилированный заголовок имеет значение «#included», вокруг нет файла, который можно было бы включить. Либо читается фактически предварительно скомпилированная (двоичная) версия фактического заголовка, либо компиляция не выполняется. Очевидно, недостатком является то, что он сбивает с толку людей, читающих код, а не только Intellisense.
источник
Visual Studio 2017 Я удалил файл ".suo" из местоположения .vs \ SolutionName \ v15.suo, а затем перезапустил Visual Studio. Это сработало для меня.
источник
Сегодня у меня была похожая проблема с MSVC ++ 2015. Я почти сдался и решил продолжить без подсказок IDE, но внезапно заметил, что stdafx.h проекта, с которым у меня возникли проблемы, не содержит заголовков стандартной библиотеки. Я предположил, что включение всех стандартных заголовков, используемых в проекте, в stdafx.h могло бы повысить скорость компиляции, однако это также исправило ошибки Intellisense.
источник
У меня было несколько
stdfax.h
дополнительных каталогов включения. Убедитесь, чтоstdafx.h
задуманное вами стоит первым на вашем пути.источник
У меня была аналогичная проблема с разными версиями Visual Studio.
Удаление папки .suo или .vs мне не помогло.
Решение для меня заключалось в том, что у меня было активное расширение StopOnFirstBuildError. После отключения «Остановить сборку при первой ошибке» в меню сборки и после того, как решение было полностью построено, ошибки, отображаемые Intellisense, исчезли.
источник
Я видел ошибки intellisearch только при публикации веб-сайта. (Сайт ASP / C #, VS 2017). Они сломали публикацию. Сайт работал нормально локально.
Устранены ошибки, сняв флажок с параметра предварительной компиляции, и он опубликован нормально. Опубликовать -> Настройка -> Параметры публикации файла -> Предварительная компиляция во время публикации
источник
В Visual Studio 2019 проблема заключается в изменении веток с помощью Git, когда в проекте установлены пакеты NuGet. Что я сделал, чтобы решить эту проблему:
источник