Как найти причину неудачной сборки без каких-либо ошибок или предупреждений


у меня есть веб-приложение, которое содержит ссылку на службы WCF.

при построении с помощью Visual Studio 2010 для построения без каких-либо ошибок или предупреждений. Однако строительство .csproj С помощью MsBuild успешно.

не могу понять, что я должен попробовать в Visual Studio, чтобы решить / диагностировать проблему. Не могли бы вы мне помочь?

EDIT:

я узнаю, что сборка была неудача,

  1. текст, отображаемый в строке состояния.

  2. из окна вывода:

    ========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========
    
25 73

25 ответов:

Я только что столкнулся с подобной ситуацией. В моем случае пользовательское действие (из пакета MSBuildVersioning, доступного на Nuget.org -http://www.nuget.org/packages/MSBuildVersioning/), который появился в целевом объекте BeforeBuild файла csproj, потерпел неудачу, не вызвав никакого сообщения об ошибке в обычном месте.

Я смог определить это, установив детализацию вывода MSBuild project build (в параметрах Visual Studio / проекты и решения / сборка и запуск область установки) в "Диагностический", как показано ниже. Затем это показало, что пользовательское действие (в моем случае HgVersionFile) было тем, что не удалось.

Screen capture from Visual Studio showing the modified setting.

  • Если решение содержит более одного проекта, попробуйте построить их по одному.
  • попробуйте перезапустить Visual Studio.
  • попробуйте перезагрузить компьютер.
  • попробовать "перестроить все"
  • попробовать "Очистить Решение" потом удалить "vspscc" файлы "vssscc "файлы, а затем перезапустите Visual Studio, а затем"Перестроить Все".

Build + Intellisense проглотила сообщения об ошибках. Выбор Построить Только отображается их.

Screenshot

VS (2013 Pro, Win 8.1) перезапуск сделал это для меня.

Я хочу расширить на зассыт это.

чтобы устранить проблему с обновлением Visual Studio 2015 2, мне пришлось создавать каждый проект по одному и смотреть на окно вывода после каждой сборки.

один проект дал мне

"имя типа или пространства имен 'SomeNamespace' не существует в пространстве имен 'BeforeSomeNamespace' (отсутствует ссылка на сборку?)".

в списке ошибок не было ошибки окно, но у сборки был желтый предупреждающий знак под "ссылками".

затем я увидел, что ссылочный проект нацелен на 4.5.1 и ссылочный проект 4.6.1. Изменение 4.6.1 для 4.5.1 позволили в целом создать для достижения успеха.

ничего не работает для меня, поэтому я удалил .файл suo, перезапущенный VS, очистил прогнозируемый, а затем сборка будет работать.

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

убедитесь, что все проекты в вашем решении нацелены на одну и ту же версию .NET.

Как и в OP, было 0 ошибок, но сборка продолжала отказывать. Однако, существует одна запись, предупреждение (похоронен в Между несколько сотен бесполезных предупреждений в формате XML...) говоря, что один проект был нацелен на другую версию .NET, чем a проект, который ссылался на него. Вся проблема заключалась в том, что один проект в моем решении был нацелен на .NET 4.5.2, когда остальные были нацелены на 4.5.1. Это должны работа даже с этим несоответствием (следовательно, почему это было просто предупреждение), но, к сожалению, он сломал сборку.

странная часть заключалась в том, что он строил/работал нормально некоторое время, но внезапно сборка начала отказывать один раз, вызывая эту проблему. Не уверен, что я сделал для того, чтобы начать жаловаться на разные .NET целевые версии, но я чувствую, что есть только некоторые тайны в Visual Studio, которые никогда не будут решены.

во-первых" очистить решение", а затем перестроить soln.

Если не будет работать закройте решение и перезапустите решение.

попробуйте эти вещи, надеюсь, определенно работает.

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

У меня была аналогичная проблема после добавления нового проекта (называемого "TestCleaner") в мое решение: сборка не удалась, ошибок нет.

я увеличил многословность вывода (см. инструкции Ричарда Дж Фостера) и искал выход для "failed". Я быстро обнаружил, какой проект провалился, и почему: проект "TestRunner" потерпел неудачу с "ошибка CS0246: не удалось найти тип или имя пространства имен 'TestCleaner'" (даже если никакие проблемы не были выделены в код.)

проверка ссылок TestRunner, конечно же, ссылка на TestCleaner была отмечена как неразрешенная, и путь отсутствовал в ссылочных свойствах. Удаление и повторное добавление не исправить. Опять же, нет объяснения, почему.

неразрешенную ссылку

Я наконец обнаружил причину:" TestCleaner " использовал другую целевую структуру для других проектов. Это был .Net 4.5.2; остальные были 4.5.

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

просто ради завершения и, возможно, помогая кому-то снова столкнуться с той же ошибкой в будущем, я использовал интерфейс mahapps metro и изменил XAML одного окна, но забыл изменить частичный класс в коде. В этом случае сборка не удалась без ошибки или предупреждения, и я смог узнать это, увеличив многословность вывода из настроек:

Error pane

output pane

У меня была та же проблема. В окне списка ошибок есть 2 выпадающих списка "показать элементы, содержащиеся в "и"показать созданные проблемы". Эти имена отображаются после наведения указателя мыши на раскрывающийся список. В раскрывающемся списке" Show issues generated "было установлено значение" Build + IntelliSense", и после изменения на" Build Only " в списке появились ошибки.

Я удалил .против папки & перезапускается против, теперь работает нормально

enter image description here

что решило это для меня было удаление .vs папка из корня решения и перезапуск Visual Studio.

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

Это случилось со мной после добавления новой страницы asp.net проект.

то, что я сделал, это исключить страницу, получить его, чтобы построить снова успешно.

затем я добавил обратно страницу со всем закомментированным кодом. Успех.

затем я раскомментировал код по крупицам, а затем все это сработало.

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

Я также нацелился на более высокую структуру в одном из моих проектов, так что, возможно, это тоже было проблемой.

я столкнулся с той же проблемой! Просто удалите папку bin и перезапустите VS. Вот и все. проверено в VS 2013.

Я пробовал все, но ничего не работал в моем случае, то я изменил эти упомянутые настройки, которые решили проблему довольно хорошо для меня. Попробуйте, если это может помочь последним зрителям. Эти параметры могут отличаться в вашей ситуации, но убедитесь, что вы создали все библиотеки DLL с теми же настройками конфигурации, которые вы сохраняли изначально (упомянутые в образе.). Configuration Settings

Image here.

Ура!

Если установлен пакет nuget "Microsoft. Net.Compilers", убедитесь, что он соответствует версии вашей Visual Studio (версия средств сборки).

версии 1.x означает C# 6.0 (Visual Studio 2015 и обновления). Например, 1.3.2

Так что не обновляйте до версии выше 1.x если вы используете VS2015

https://stackoverflow.com/a/44397905/3862615

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

в Visual Studio 2015 я включил подробный MSBuild под Инструменты > Параметры > проекты и решения > сборка и запуск

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

Пакет Nuget был виновником, после обновления Nuget-сборка прошла успешно.

enter image description here

Это может быть из-за разницы версия reportviewer в вашем проекте и VS

Так как все не работает, обнаружил, что ошибки не отображаются при открытии проекта в качестве решения (.sln), в то время как ошибка отображается при открытии проекта как проекта.

У меня была такая же проблема, и я проследил эту проблему до параметры списка ошибок "Build + Intellisense".

Если выбран этот параметр, то ошибки в списке не отображаются. Переключитесь на "Построить Только" и ошибки появляются, как ожидалось.

Это похоже на ошибку в Visual Studio. перезапуск visual studio решил эту проблему.

У меня была та же проблема, я изменил инструменты -> опции -> проекты и решения/сборка и запуск -> MSBuild project build log file verbosity[Диагностика]. Эта опция показывает ошибку в журнале, из-за некоторых причин мой VS не показывает ошибку на вкладке ошибки!

enter image description here

сделайте выше настройки и в выходной копии в блокноте / текстовом редакторе и найдите ошибку. Он покажет вам все ошибки.