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