Для меня это происходило из-за настроек конфигурации сборки. В моем решении Visual Studio есть несколько проектов, которые представляют собой смесь проектов C # и C ++. Теперь я понял, что по какой-то странной причине Visual Studio предпочитает не строить проекты C ++ по умолчанию, о чем свидетельствуют параметры конфигурации сборки. Я заметил это сразу после добавления в решение нового проекта C ++ . Я не знаю, почему VS не придерживается того же подхода при добавлении нового проекта C # в решение.
Щелкните правой кнопкой мыши файл решения в проводнике решений -> щелкните свойства в контекстном меню -> выберите узел свойств конфигурации на левой панели -> выберите узел конфигурации . Он показывает список всех проектов в решении. Первый проект LearnDs - это проект на C ++. Обратите внимание на флажок в столбце сборки в первой строке. Он не отмечен. Это было причиной того, что Visual Studio 2010 не собирал мой проект C ++ (при нажатии F5), который содержал некоторые изменения с момента его последней успешной сборки.
В тот момент, когда я установил соответствующий флажок и сохранил настройки конфигурации сборки для решения, все заработало. Теперь я вижу подсказку ниже всякий раз, когда нажимаю F5, поскольку VS может обнаружить, что с момента последней сборки были внесены некоторые новые изменения. Это приглашение вызвано тем, что мои настройки в меню «Инструменты» -> «Подменю« Параметры »-> узел« Проекты и решения »->« Узел сборки и запуска » ->« При запуске, когда проекты устарели »») установлен на Prompt to build
. Если вам не нравится это приглашение, установите для него значение Always build
.