Как определить, почему Visual Studio может пропускать проекты при создании решения - PullRequest
73 голосов
/ 24 августа 2009

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

1> ------ Пропущено Перестроить все: Проект: pr1lib ------

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

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

Ответы [ 26 ]

1 голос
/ 19 марта 2014

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

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

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

1 голос
/ 20 марта 2019

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

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

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

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

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

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

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

1 голос
/ 27 октября 2018

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

1 голос
/ 04 января 2019

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

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

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

Я нашел общий проект в файле 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 файла, и теперь все снова кажется счастливым

1 голос
/ 11 мая 2017

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

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

0 голосов
/ 11 мая 2019

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

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

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

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

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

0 голосов
/ 18 апреля 2019

Я только что попал в эту неприятность:

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

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

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

0 голосов
/ 07 февраля 2019

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

0 голосов
/ 07 января 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...