Почему просмотр информации в Visual Studio 2008 перестал обновляться?

Я работаю над довольно большим (я думаю - это 32 проекта?) Многопроектным "решением" в Visual Studio 2008. Поскольку это устаревшая система, код в основном C , Хотя я этого не делаю думаю это уместно на мой вопрос.

Недавно (но я не уверен, как недавно), я заметил, что моя информация для просмотра - средство VS, которое позволяет "Перейти к определению" и "Перейти к объявлению" макроса, функции, переменной и т. Д. - не обновляется. Я попробую "Перейти к определению" на что-то, и либо IDE скажет мне, что "символ" не определен ", либо, если это то, что я переместил, перейдет к нужному файлу, но не к тому место.

Я попытался создать Обзорную информацию для всех проектов в решении, но это не помогло. Затем я прочитал в MSDN, что не должен этого делать, а должен, вместо этого, после того, как все проекты собраны, запустить BSCMAKE со всеми файлами.sbr в качестве входных данных. (Я верю, но не уверен, что файлы.sbr создаются автоматически при их компиляции.)

Я предполагаю, что этого шага (запустить BSCMAKE со всеми файлами.sbr) не происходит, но я не знаю, где найти настройку, если она есть, которая контролирует это для всего решения (а не один проект за раз).

Есть ли какой-то другой файл (кроме.bsc), из которого VS получает эту информацию? (Другими словами, я полностью лаю не на том дереве)?

2 ответа

Решение

Вы пытались удалить файл IntelliSense (.ncb), который находится прямо рядом с файлом решения (.sln)? Потому что файл.ncb может быть поврежден. Вы можете прочитать больше о проблеме здесь

В большинстве случаев, когда вы получаете "Символ не определен", это происходит потому, что в исходном файле отсутствует #include. Убедитесь, что он присутствует и вы можете открыть его.

Кроме того, определения и макросы могут испортить IntelliSense. Какие-нибудь изменения в вашем коде недавно?

Там нет настроек для активации BSCMAKE, насколько я понимаю. Вам нужно вызвать команду, когда вы закончите компиляцию.

Поскольку вы перенесли проект из VS2005, а файл.ncb содержит информацию о различных переменных в проекте, я рекомендую вам попытаться удалить файл.ncb, а затем пересобрать проект в VS2008 или VS2010.

После попытки выше, если не исправлено, попробуйте и это тоже.

Мы можем определить функцию следующих форматов.

Тип 1

func(int i, char c)

{
.....
....
.....
}

Тип:2

func(i, char c)

int i;

char c;

{
.....
....
.....
}

Если вы определили тип 2, а затем нажмите переменную клавишу F12 (Перейти к замедлению), это не сработает. Пожалуйста, измените тип 1 и попробуйте. Это будет работать нормально.

Другие вопросы по тегам