Как определить, почему визуальная студия может пропускать проекты при построении решения
Я отлаживаю чужую работу, и решение довольно большое. Когда я пытаюсь собрать все целиком, несколько проектов в рамках решения не создаются, а просто пропускаются. Просмотр окна вывода во время процесса сборки говорит:
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 или что-то еще, можно достичь цели с помощью следующих шагов:
-
Убедитесь, что все изменения зафиксированы/зарегистрированы перед операцией
-
Просмотрите все проекты, исключив их из решения и добавив к ним существующие.
-
Обратите внимание, что файл .sln изменился
-
Сохраните новый файл .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
- Закрыть визуальную студию
- Откройте файл sln с помощью блокнота
- удалите все, как это: {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. Я изначально загрузил все проекты, пытался построить/очистить/восстановить, и все было пропущено. Следуйте ниже для решения:
- Я разгрузил каждый проект и перезагрузил их.
- Закрыл все экземпляры VS и открыл VS как администратор (щелкните правой кнопкой мыши по ярлыку и выберите опцию "Запуск от имени администратора")
Это все вернулось в действие, и я смог успешно построить все проекты.
Ответ 28
Визуальная студия 2017
После добавления конфигурации в Менеджере конфигурации
Щелкните правой кнопкой мыши на Project → Project Only → Build Only/Rebuild Only/Clean Only
если все остальные настройки верны.