it-swarm.com.ru

Сборка проекта Visual Studio 2015 завершилась неудачно, но ошибок нет

Мой проект не работает, но я не вижу ошибок. Я пытался очистить и восстановить, это не сработало. 

Я изменил многословность вывода MSBuild на «Диагностика», надеясь, что это поможет мне определить проблему, и теперь я застрял. Вот как выглядит результат:

1>Project 'ProjectMM.Data.Models' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\ProjectMM.Data.Models.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\bin\Debug\ProjectMM.Data.Models.pdb'.
All packages are already installed and there is nothing to restore.
1>------ Build started: Project: ProjectMM.Data.Models, Configuration: Debug Any CPU ------
2>Project 'ProjectMM.Data' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data\ProjectMM.Data.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data\bin\Debug\ProjectMM.Data.pdb'.
2>------ Build started: Project: ProjectMM.Data, Configuration: Debug Any CPU ------
3>Project 'ProjectMM' is not up to date. Input file 'c:\projects\projectmm\projectmm\app_start\bundleconfig.cs' is modified after output file 'C:\Projects\ProjectMM\ProjectMM\bin\ProjectMM.pdb'.
3>------ Build started: Project: ProjectMM, Configuration: Debug Any CPU ------
========== Build: 0 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========
99
Rob Greenlee

У меня была та же проблема, и закрытие и повторное открытие Visual Studio устраняет ее. 

Я также пытался очистить раствор и очистить не удалось.

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

94
carsonevans

Возможно, вы не видите все ошибки сборки. 

Изменив раскрывающийся список после значка «Сообщения» с «Build + Intellisense» на «Build Only», вы сможете увидеть ошибки, возникающие во время сборки, которые не обнаружены Intellisense. Смотрите скриншот ниже:

 Build

102

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

Обычное закрытие VS и повторное его открытие не сняло это условие. (В VS2013 это был обычный способ пнуть XAML intellisense в тыл и заставить его перестать фиксировать на «ошибку», которая была исправлена.)

До сих пор это всегда было связано с ошибками компиляции в CS-файле страницы XAML. Я не помню, чтобы я видел его в нестраничном CS-файле.

До тех пор, пока не выясняется, что нужно проверить окно вывода, такие вещи, как сообщение об intellisense в окне ошибок о недопустимых ссылках на объекты в XAML, но никакие ошибки компилятора, отображаемые в окне ошибок, не могут получить ОЧЕНЬ путаницу, так как она «появляется», как ошибки IntelliSense, сообщающий об ошибках XAML. Но на самом деле это не так. Ошибки XAML - это просто признаки того, что CS-файлы не компилируются, но их сообщения об ошибках не отображаются в окне ошибок.

32
Keith

Удаление скрытой папки .vs для меня работало для VS2015.

(Обратите внимание, что именно здесь сейчас находятся файлы SUO)

9
Mike Asdf

Это может произойти, когда вы ссылаетесь на другой проект .NET Framework версии (v4.5.2 против v4.5 в моем случае). Исправление этого исправит вашу проблему.

7
Claudiu Constantin

Что случилось со мной, так это то, что смена часового пояса на компьютере на +5: 30, а затем его изменение на -5: 00 - вот что смутило VS. Когда я перезапустил VS, он снова работал нормально.

6
M B

У меня была эта проблема с VS2015 Update 3 RC и Xamarin (общий проект .Forms).
Компилятор не останавливается, ошибки были показаны только в окне вывода.
Это только для проектов Xamarin (с проектами VB.NET все работало как положено) ...
Чтобы попытаться найти причину проблемы, я изменил вывод сборки в VS:
- меню "Инструменты - Опции"
- из левой панели: «Проекты и решения: построить и запустить»:
- измените "MSBuild Output Verbosity" с "Minimal" на "Diagnostic"

После этого компилятор остановился и была показана ошибка ..
После этого я установил опцию обратно «Диагностика» на «Минимальная» (как это было раньше) и ... она работала также с «Минимальной» (безусловно, я также перезапустил VS). .. 

Итак ... кажется (по крайней мере, в моем случае), что только изменение (прикосновение) к настройке (MSBuild Output Verbosity ") решило проблему и что это ошибка в VS и/или программном обеспечении интеграции Xamarin .. .  

6
FredyWenger

Проверьте все версии своего Project Framework и убедитесь, что они все одинаковые, или, по крайней мере, проект A не ссылается на проект B, когда версия .NET Framework версии B выше.

5
Daniel Minnaar

Я не знаю, единственный ли я, кто сталкивается с этой проблемой. в моем случае, когда я открыл Visual Studio, часовой пояс был в GMT + 1: 00, и сборка прошла успешно, а затем я изменил часовой пояс на GMT + 5: 30, а затем, не перезапуская Visual Studio, я попытался запустить приложение, но сборка произошел сбой без каких-либо ошибок или предупреждений, затем я изменил часовой пояс на GMT + 1: 00, и сборка прошла без ошибок. 

3
Rudresha Parameshappa

Проверьте предупреждения ..

У меня была новая библиотека классов с целевым .Net Framework 4.5, в то время как ссылочный проект был 4.0, что вызвало проблему со ссылками.

После изменения библиотеки классов с целью .Net Framework 4.0 она работала правильно.

2
user3171101

Ничто из ответов выше не помогло мне. После многих экспериментов я наконец обнаружил, что проблема является ссылкой на Microsoft.Net.Compilers v2.10.0 в одном из проектов. VS 2015 использует MSBuild v14, который не поддерживает эту версию Microsoft.Net.Compilers.

2
Petar Petrov

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

2
Phate01

То, что я сделал (после всего вышеперечисленного, но оно все еще не работало), перебрал все папки bin и удалил их все (то есть ссылки на проекты тоже). 

Это сработало для меня, надеюсь, это сработает и для вас.

1
Rodney Ellis

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

 enter image description here

Вы можете видеть, что конфигурация «Вкладка ошибок» в порядке (выбраны «Только сборка» и «Полное решение»).

Обратите внимание, что после глубокого изучения я обнаружил, что это происходит только в том случае, если «вкладка« Ошибка »еще не была показана при запуске сборки!»

Если вы активировали «Вкладку ошибок» перед выполнением сборки (или это была текущая вкладка при запуске Visual), то вновь обнаруженные ошибки/предупреждения будут отображаться правильно:

 enter image description here

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

Пока что нет лучшего ответа на эту проблему, чем "активируйте вкладку Error перед сборкой".

Бьюсь об заклад, поэтому «перезагрузка VS» иногда работает. Вы видите, что «Вкладка ошибок» пуста, вы закрываете и снова открываете VS, затем по умолчанию отображается «Вкладка ошибок», поскольку VS восстанавливает текущую активную вкладку из предыдущего сеанса. Вы строите, и теперь вкладка "Ошибка" заполняется ...! Тебе просто повезло.

Примечание: сообщается об ошибке VS: https://connect.Microsoft.com/VisualStudio/feedback/details/3132689

1
jpo38

Для меня эта проблема была связана с пользовательской настройкой набора правил CodeAnalysis "IncludeAll".

Похоже, что компилятор наблюдает этот параметр:

  <IncludeAll Action="Error" />

Но IntelliSense принял ДЕЙСТВИЕ по умолчанию для идентификатора правила, который был «Предупреждение». Это объясняет поведение @RobertHarvey, при котором вы фильтруете выходные данные по Build Only, и это отображается как ERROR, но если вы фильтруете только по Intellisene, то оно отображается как WARNING. Фильтрация вывода по умолчанию Build + Intellisense кажется недетерминированной!

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

  <Rules AnalyzerId="Microsoft.CodeAnalysis.CSharp" RuleNamespace="Microsoft.CodeAnalysis.CSharp">
    <Rule Id="CS0618" Action="Warning" />
  </Rules>

Это потенциальная проблема, поскольку Intellisense не соблюдает параметр IncludeAll. Смотрите https://github.com/dotnet/roslyn/issues/7400

1
felickz

Это также может произойти при переносе проекта в Visual Studio 2015 с более старой платформой. Проверьте ваши предупреждения в вашем списке ошибок. Вы можете увидеть что-то вроде проекта в настоящее время .NET версии 2.0 и требует .NET 3.5 или выше. Если вы обнаружите подобное предупреждение, перейдите в свойства вашего проекта и укажите целевой .NET Framework. 

1
Tyriddik

Попробуй это

Исключение "mstscax.dll" из зависимостей работало для меня.

0
Emile Cloete

Взято из это ответ 

Компиляция не удалась, в окне вывода ошибок не было.

Чтобы попытаться найти причину проблемы, я изменил Build Вывод в VS: - меню «Инструменты - Опции» - из левой панели: «Проекты и решения: сборка и запуск»: - измените "MSBuild Output Verbosity" с "Minimal" на "Diagnostic"

После этого я нашел реальную причину, которая фактически была ошибкой в ​​проектах зависимости. Я проектирую, что я зависел, был построен для другой структуры (более новой), чем у меня. Таким образом, создавая проблему. Ошибки были только озвучены, когда я поставил Детальность вывода в Диагностику

0
John Demetriou

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

Дочерний узел "2" вышел преждевременно. Выключение. Диагностическая информация может быть найдена в файлах в каталоге временных файлов с именем MSBuild _ *. Fail.txt.

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

Удаление скрытой папки .vs, решение по перестройке/очистке и перезапуск Visual Studio не работали. Удаление прикрепленного имущества сделал; следовательно, это может быть реальный код где-то, который не работает должным образом. 

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

Обновление

Поскольку я привык к разработке традиционных приложений WPF, я не осознавал, что нельзя «связать» пространства имен XAML, используя .s с UWP. Я пытался установить прикрепленное свойство с помощью

My.Namespace:SomeClass.SomeProperty="SomeValue"

Принимая во внимание, что это должно быть просто

MyNamespace:SomeClass.SomeProperty="SomeValue"

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

0
James M

Пожалуйста, проверьте предупреждения. Иногда сборка не удалась из-за каких-то предупреждений.

0
Krishna

Что сработало для меня:

Закрытие всех документов решило проблему для меня. (То же решение, если intelliSense перестает работать)

(щелкните правой кнопкой мыши вкладку - Закрыть все документы)

0
Ziv Weissman

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

 enter image description here

Поведение появилось после обновления до Windows 10. Для его исправления необходимо зарегистрировать сборку в GAC. Чтобы узнать, как это сделать, перейдите к этому ответу MSHTML DLL в Windows 10 вот где я нашел свой ответ.

0
Fid

После обновления dll-файла оказалось, что новый файл ориентирован на более высокую версию .NET Framework. Решением было перейти в Свойства проекта и изменить целевую среду на соответствующую версию.

0
usefulBee

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

Issue был для консольной программы, нельзя пометить метод Main () как async **, что я и делал. Не уверен, почему Visual Studio не может указать, почему именно проект не создавался (каждый раз я получал 0 ошибок и 0 предупреждений). Я использую Visual Studio 2015 Enterprise.

Исправлено: Обходной путь для этого есть здесь .

0
user3613932