Как определить, почему визуальная студия может пропускать проекты при построении решения

Я отлаживаю чужую работу, и решение довольно большое. Когда я пытаюсь собрать все целиком, несколько проектов в рамках решения не создаются, а просто пропускаются. Просмотр окна вывода во время процесса сборки говорит:

1> ------ Пропущено Rebuild All: Project: pr1lib ------

Как я могу определить, почему эти сборки были пропущены? Я не могу найти дополнительный вывод.

Это с VS2008, и решение состоит из кода С# и c++.

Ответ 1

Щелкните правой кнопкой мыши по решению, выберите "Свойства", а затем "Свойства конфигурации". Здесь вы можете выбрать, какие проекты строить.

[ изменить]:
См. Комментарий Kdt:... когда я посмотрел в свойствах конфигурации... цель сборки проекта была настроена для "Смешанных платформ", в то время как решение было настроено на сборку "Любой процессор".

* Когда эта проблема возникла со мной, в основном проекте был только "Любой процессор", и он установил дочернюю DLL на "любой процессор", однако я удалил этот профиль и оставил только "x86". Выбор x86 только для dll заставит его начать работу
[/Править]

Ответ 2

У меня была одна и та же проблема - "проект разгрузки" и "перезагрузить проект" решили проблему!

Ответ 3

Сборка, восстановление и очистка операций были пропущены. Разгрузка и перезагрузка не помогли, и перезагрузка Visual Studio не перезапустилась.

Как только я удалил проект из решения и добавил его обратно, он больше не пропускается. Чтобы удалить его, в обозревателе решений щелкните правой кнопкой мыши проект > Удалить > ОК. Чтобы добавить его обратно, в обозревателе решений щелкните правой кнопкой мыши решение > Добавить > Существующий проект и выберите свой проект

Ответ 4

Если confixguration - x64, а компилятор x64 не установлен, он пропускает проект.

Ответ 5

Visual Studio 2008, это может быть потому, что 64-битный компилятор не был бы установлен.

Панель управления → Программы и компоненты → Microsoft Visual Studio 2008 professional → [двойной щелчок]

В диалоге Visual Studio

Далее → Добавить/удалить компоненты → (Под) Visual C++ → (выбрать) x64 компилятор и инструменты

Ответ 6

Эй, просто исправил это. Думал, что это может помочь. Вы, скорее всего, не установили соответствующие компиляторы вместе с визуальной студией. Это случилось со мной сегодня - по умолчанию установщик VS 2008 не устанавливает компилятор x64 С++.

Если у вас есть пакет обновления 1 (SP1), удалите его перед изменением установки VS. Когда это будет сделано, установите SP1 еще раз.

Ответ 7

Проблема существует и в VS 2010; предлагаемых решений: редактирование конфигурации сборки, очистка, изменение/изменение параметров целевой структуры, НЕ работают. Но разгрузка и перезагрузка проекта происходит.

Ответ 8

Мое решение такое же, как упомянуто ранее: Удалить → Добавить существующий проект

Но это решение подразумевает, что ссылки между проектами исчезают

Чтобы избежать повторного добавления ссылок: и в случае, если вы используете систему контроля версий, такую как GIT или TFS или что-то еще, можно достичь цели с помощью следующих шагов:

  1. Убедитесь, что все изменения зафиксированы/зарегистрированы перед операцией

  2. Просмотрите все проекты, исключив их из решения и добавив к ним существующие.

  3. Обратите внимание, что файл .sln изменился

  4. Сохраните новый файл .sln, но отмените изменения всех файлов .cspoj в системе контроля версий

Ответ 9

Перейдите в меню сборки и выберите "Менеджер конфигурации". Это покажет, какие проекты сконфигурированы для сборки в выбранной вами конфигурации.

Ответ 10

Имела ту же проблему, выяснилось, что настройка проекта была для процессора Itanium, заменив его на Intel.

Ответ 11

Выполнял ту же проблему с VS2005, все конфигурации были правильными. Он даже пропускал команду "Чистый проект".

Наконец, разгрузка/перезагрузка сделала магию.

Ответ 12

Щелкните правой кнопкой мыши на "Решение" в своем проводнике решений, затем нажмите "Свойства" в нижней части меню. В окне свойств нажмите на Свойства конфигурации Конфигурация на левой панели, вы увидите список проектов на правой панели, убедитесь, что флажок "Сборка" отмечен в всплывающее окно.

Ответ 13

Если ваше решение содержит файл проекта NuGet (*.nuproj), попробуйте выгрузить его, а затем перестроить свое решение.

Это работало для меня после того, как ни одно из вышеописанных действий не работало.

Ответ 14

У меня была похожая вещь, случившаяся со мной. Я не уверен, в чем проблема, но это не будет Очистить, Построить, Восстановить и т.д. Я работаю в Visual Studio 2017 и хотел сборку netstandard2.0. Проблема для меня заключалась в том, что каким-то образом тип проекта был неправильным, может быть, я начал с библиотеки классов netcoreapp, что-то вроде этого, застрявшее в файле Solution, я не помню. Как бы то ни было, я сделал netstandard копию проекта, создал новый netstandard библиотеки классов netstandard все резервные копии, и это помогло мне. HTH кто-то.

Ответ 15

У меня был странный, который, возможно, стоит документировать среди других возможностей здесь..

Я добавил Shared Project в свое решение с кодом, который использовался в двух или трех других проектах. Как вам известно, общие проекты - это просто код, а не проект в традиционном смысле. Вы не можете "построить" общий проект, это просто код, который встроен в другие проекты, а затем построен там.

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

Я нашел общий проект в файле solution.sln например:

Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Api.Common", "Api.Common\Api.Common.shproj", "{EC580471-D78A-4509-AC46-BD565553AD60}"

.. что хорошо. Что не хорошо, так это то, что этот проект также появился в GlobalSection(ProjectConfigurationPlatforms) = postSolution например:

    {EC580471-D78A-4509-AC46-BD565553AD60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
    {EC580471-D78A-4509-AC46-BD565553AD60}.Debug|Any CPU.Build.0 = Debug|Any CPU
    {EC580471-D78A-4509-AC46-BD565553AD60}.Release|Any CPU.ActiveCfg = Release|Any CPU
    {EC580471-D78A-4509-AC46-BD565553AD60}.Release|Any CPU.Build.0 = Release|Any CPU

Я удалил эти четыре строки из моего файла .sln, и теперь все снова кажется счастливым

Ответ 16

  1. Закрыть визуальную студию
  2. Откройте файл sln с помощью блокнота
  3. удалите все, как это: {B546C55D-9321-4FC0-B25C-46844222BEBE}. Отладка с помощью Fakes | x86.ActiveCfg = Отладка с помощью Fakes | x86 (их будет много)

4. сохранить файл 5. открыть визуальную студию и все лучше

Ответ 17

я обновился до 15.9.11,... после некоторых сборок та же проблема: большинство проектов пропускаются (которые строятся секунду назад без проблем). Разгрузка/перезагрузка решения всегда помогает в моем случае, но это скоро произойдет снова.

Я понятия не имею, почему... кроме большой ошибки в VS2017

Я проверил диспетчер конфигурации, все галочки установлены для сборки.

Возможно, это как-то связано с пакетами nuget, но это только предположение

Решение имеет только c++/vcxproj, но не csproj. 64 и 32 установлены оба

Ответ 18

Первое, что вам нужно сделать, это выяснить, почему сборка пропускает проекты. Поэтому для получения подробного результата сборки измените многословие на detailed в следующем месте в Visual Studio.

enter image description here

Ответ 19

убедитесь, что вы сначала выполните "чистую". Visual Studio обычно не будет перестраивать проект, который не устарел (насколько это касается), и будет просто повторно использовать код объекта, который он уже есть.

Запуск очистки должен очистить весь ранее скомпилированный код, а VS не должен пропускать проект (при условии, что менеджер конфигурации имеет проекты, выбранные для сборки... см. предыдущий ответ).

Надеюсь, что это поможет.

Ответ 20

Я нахожу, что иногда, когда у вас установлена ​​целевая платформа, позволяющая говорить x86 в вашем решении и в ваших проектах, проект на самом деле не всегда выбирался.

Чтобы выполнить двойную проверку, перейдите к свойствам проекта и посмотрите, можете ли вы выбрать эту платформу в настройке Build- > Platform, если вы не можете, тогда вам нужно будет перейти в диспетчер конфигурации и создать эту конфигурацию.

Ответ 21

У меня возникла проблема с некоторыми проектами Windows CE на новом ПК. "Выгрузить проект" и "Обновить проект", похоже, устранили проблему, но на самом деле Visual Studio просто переключилась на другую платформу и построила ее.

Оказалось, что хотя моя платформа WinCE была показана как активная платформа, Visual Studio не "действительно" ее рассматривала. Решение было переустановить SDK WinCE с привилегиями администратора:

  • Убедитесь, что Visual Studio 2008 не запущена.
  • Откройте "Командная строка Visual Studio 2008" в качестве администратора. В Windows 7 просто щелкните правой кнопкой мыши по короткому замыканию и выберите опцию "Запуск от имени администратора".
  • Введите следующую команду: msiexec /log SDKInstallLog.txt /package <the path to your .msi file>
  • Когда вас спросят, хотите ли вы сделать пользовательский или полный набор для установки, и попросите установщика опустить установку документации (этот шаг не был необходим в моем случае, на самом деле я просто попросил его "восстановить" существующая установка.)
  • Установить

Ответ 22

VS 2008 будет пропускать цели x64, если у вас нет установленного компилятора x64. VS 2008 не по умолчанию. Вид духа, вещь.

Ответ 23

У меня была очень похожая проблема после создания проекта из декомпилятора из Telerik, а затем попытка перекомпилировать его. Проект был пропущен всякий раз, когда я пытался его перестроить. Пробовал много предложений выше, но для меня это была .NET Framework, выбранная в свойствах проекта.

Щелкните правой кнопкой мыши проект в файле решения, выберите свойства, вкладку приложения, измените целевую структуру с 4.0 до 3.5.

Затем, перестройте, и я получил кучу ссылок на сборку ошибок, что имеет смысл, так как я еще не добавил ссылки на них.

Ответ 24

Я обновляю одно небольшое обновление Visual Studio 2017, а затем установщик напоминает мне перезагружать компьютер, но я не перезагружаюсь. Когда я строю свой проект или решение в Visual Studio 2017, я сталкиваюсь с той же проблемой, описанной выше. ключ, поэтому я перезагрузил компьютер, я сделал это.:>

Ответ 25

У меня была эта проблема в Visual Studio 2017 15.9.4, и после некоторого поиска и откладывания времени я обнаружил, что в моем решении файл .csproj одного из проектов был поврежден после слияния в TFS. (Я мог бы построить другие проекты, выгрузив проблемный проект из решения). Как я решил свою проблему, я сравнил файл .csproj до и после слияния и исправил это. И под исправлением я подразумеваю, что поскольку мой собственный тип проекта был .netStandard, я удалил ненужные строки, включая Configuration PropertyGroup, все и другие в новом файле .csproj, чтобы сделать его похожим на предыдущую версию .netstandard.

Ответ 26

У меня была похожая проблема, у меня был один проект, который по какой-то причине не мог загрузиться в обозревателе решений. Когда я загрузил этот проект, он работал как шарм.

Ответ 27

Я только попал в эту проблему:

Обновил VS 2017 до последней версии 15.9.11, и несколько моих проектов были обновлены до .net core 2.2. Я изначально загрузил все проекты, пытался построить/очистить/восстановить, и все было пропущено. Следуйте ниже для решения:

  1. Я разгрузил каждый проект и перезагрузил их.
  2. Закрыл все экземпляры VS и открыл VS как администратор (щелкните правой кнопкой мыши по ярлыку и выберите опцию "Запуск от имени администратора")

Это все вернулось в действие, и я смог успешно построить все проекты.

Ответ 28

Визуальная студия 2017

После добавления конфигурации в Менеджере конфигурации

Щелкните правой кнопкой мыши на Project → Project Only → Build Only/Rebuild Only/Clean Only

если все остальные настройки верны.