Подтвердить что ты не робот

Visual Studio 2012 не создает зависимые проекты

Я только что обновил VS2010-проект до VS2012, и теперь у меня проблема, когда зависимые проекты не строят по требованию. Например, скажем, у меня есть следующие проекты в моем решении:

  • Библиотека A
  • ConsoleApp 1

Где ConsoleApp 1 ссылается на библиотеку A. Если я изменю подпись метода в классе в Библиотеке A и запустим ConsoleApp 1, произойдет ошибка компилятора из-за того, что ConsoleApp 1 не увидит мои изменения, потому что запуск ConsoleApp 1 не вызывал Библиотека A для сборки.

Если я вручную создам библиотеку A, тогда вручную создайте ConsoleApp 1, он отлично работает. Однако я ожидаю, что запуск ConsoleApp 1 приведет к перестройке любых зависимых проектов перед запуском.

Могу ли я что-то настроить неправильно? Или это ошибка в VS2012?

4b9b3361

Ответ 1

Попробуйте удалить проект references и добавьте его снова (путь к следующему: References -> (правый щелчок) Add reference -> Solution -> Project). Прежде чем давать еще одну попытку Save All. Вот как я это решил.

Ответ 2

Ваши симптомы звучат очень похоже на те, которые я испытал некоторое время назад. Убедитесь, что проекты настроены на создание с помощью текущего active решения configuration и активной платформы решений под Build->Configuration Manager.

Ответ 3

Это происходит, когда файл .suo для решения становится заблокированным, а Visual Studio больше не может писать на него. Другим симптомом этой проблемы является то, что вы увидите файлы temp suo, создаваемые рядом с решением при его открытии. Попробуйте закрыть Visual Studio и удалить все файлы *.suo в рабочей области. Затем заново откройте Visual Studio и перестройте все. Не нужно вручную перестраивать решение. Это исправит проблему, если она вызвана заблокированным .suo, как это случилось сегодня с моим коллегой.

В его случае причина заключалась в том, что он выключил свой ноутбук, пока Visual Studio все еще была открыта. Может быть, закрытие Windows не завершилось чисто? Мы можем только догадываться о том, как .suo изначально был заблокирован.

Ответ 4

Я пробовал все вышеперечисленные решения, и это не помогло мне решить эту проблему. Я обнаружил, что именно из-за Active configuration в ConfigurationManager был установлен только для создания основного (запуска) проекта.

Перейдите к Build > ConfigurationManager

Убедитесь, что все проекты, которые вы хотите создать, проверяются, как показано на скриншоте ниже Это аналогичная проблема на форуме Asp.Net здесь, и это подробности на MSDN , Хотя это было натянуто, bcoz я никогда не менял эти настройки, и он работал нормально на прошлой неделе enter image description here

Ответ 5

Я столкнулся с аналогичной проблемой, решением (или зондом) были настройки Build and Run в разделе Tools > Options... > Projects and Solutions > Build and Run, где была проверена только сборка проектов запуска и зависимости от Run. Снимок экрана показывает мое текущее рабочее решение.

Visual Studio 2012 Options

Ответ 6

Для меня я разрешаю проблему, щелкнув правой кнопкой мыши на проекте; Построение зависимостей > Зависимости проектов. Затем вручную задайте порядок для каждого проекта. очень больно, если у вас много проектов.

введите описание изображения здесь

Ответ 7

Щелкните правой кнопкой мыши в решении, затем нажмите "Очистить решение".

Ответ 8

убедитесь, что проект ссылки имеет ту же или более высокую версию .Net framework, что и проект, на который ссылается.