wake-up-neo.net

Das Erstellen von Visual Studio 2015-Projekten ist fehlgeschlagen, jedoch keine Fehler

Mein Projekt baut alle fehl, aber mir werden keine Fehler angezeigt. Ich habe versucht zu reinigen und wieder aufzubauen, das hat nicht funktioniert. 

Ich habe die Ausführlichkeit der MSBuild-Ausgabe in "Diagnostic" geändert, in der Hoffnung, dass ich dadurch das Problem erkennen kann, und jetzt bin ich festgefahren. So sieht die Ausgabe aus:

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

Ich hatte das gleiche Problem und das Schließen und erneutes Öffnen von Visual Studio klärt es. 

Ich hatte auch versucht, die Lösung zu reinigen und die Reinigung fehlgeschlagen.

Es kann andere Szenarien geben, bei denen dies nicht der Trick ist, aber in meinem Fall hat der Neustart dies für mich gelöst.

94
carsonevans

Es ist möglich, dass Sie nicht alle Build-Fehler sehen. 

Wenn Sie die Dropdown-Liste nach dem Symbol "Nachrichten" von "Build + Intellisense" in "Nur Build" ändern, können Sie Fehler erkennen, die während des Builds ausgelöst werden und nicht von Intellisense erkannt werden. Siehe den Screenshot unten:

 Build

Ich habe reguläre Instanzen von VS2015 gemeldet, die "Build fehlgeschlagen" melden, aber keine Fehler im Fehlerfenster anzeigen. Ich kam aus einem alten Kommandozeilenhintergrund und schaute mir schließlich das Ausgabefenster an. Das Ausgabefenster zeigte die Fehlerberichte des Compilers an, die jedoch nicht im Fehlerfenster erfasst wurden. Ich habe dieses Problem unter VS2013 nie gesehen.

Das übliche Schließen von VS und das erneute Öffnen von VS hat diesen Zustand nicht behoben. (In VS2013 war dies eine übliche Methode, um XAML Intellisense in den Fond zu treten und die Fixierung auf einen "Fehler" einzustellen, der behoben wurde.)

Bisher war dies immer mit Kompilierungsfehlern in einer XAML-Seiten-CS-Datei verbunden. Ich kann mich nicht erinnern, es in einer Nicht-Seiten-CS-Datei zu sehen.

Bis man herausfindet, ob das Ausgabefenster überprüft werden soll, wie beispielsweise das Intellisense-Reporting im Fehlerfenster ungültige Verweise auf Objekte in der XAML, aber keine Compiler-Fehler, die im Fehlerfenster angezeigt werden, können sehr verwirrend sein, da sie wie die Fehler "erscheinen" Der Intellisense meldet XAML-Fehler. Aber das sind sie eigentlich nicht. Die XAML-Fehler sind nur Symptome, dass CS-Dateien nicht kompiliert werden können, deren Fehler jedoch nicht im Fehlerfenster angezeigt werden.

32
Keith

Löschen des versteckten .vs-Ordners für VS2015.

(Beachten Sie, dass hier die SUO-Dateien jetzt leben.)

9
Mike Asdf

Dies kann passieren, wenn Sie auf ein anderes Projekt eines .net-Frameworks verweisen (v4.5.2 vs. v4.5 in meinem Fall). Wenn Sie dies korrigieren, wird Ihr Problem behoben.

7

Was bei mir passierte, war, die Zeitzone auf dem Computer auf +5: 30 zu ändern und dann wieder -5: 00 zu ändern, was VS verwirrt. Als ich VS neu startete, funktionierte es wieder einwandfrei.

6
M B

Ich hatte dieses Problem mit VS2015 Update 3 RC und Xamarin (gemeinsam genutztes Projekt .Forms).
Compiler stoppt nicht, Fehler wurden nur im Ausgabefenster angezeigt.
Dies nur für Xamarin-Projekte (bei VB.NET-Projekten hat alles wie erwartet funktioniert) ...
Um die Ursache für das Problem zu finden, habe ich die Build-Ausgabe in VS geändert:
- Menü "Extras - Optionen"
- aus dem linken Bereich: "Projekte und Lösungen: Build And Run":
- "MSBuild Output Verbosity" von "Minimal" in "Diagnostic" ändern

Danach hat der Compiler gestoppt und der Fehler wurde angezeigt ..
Danach habe ich die Option von "Diagnose" auf "Minimal" zurückgesetzt (wie zuvor) und ... es hat auch mit "Minimal" gearbeitet (um sicher zu sein, dass ich auch VS neu gestartet habe). .. 

Also .. es scheint (zumindest in meinem Fall), dass nur das Ändern (Berühren) der Einstellung (MSBuild Output Verbosity ") das Problem gelöst hat und dass dies ein Fehler in VS und/oder der Xamarin-Integrationssoftware ist. .  

6
FredyWenger

Überprüfen Sie alle Projekt-Framework-Versionen, und stellen Sie sicher, dass sie alle gleich sind. Andernfalls verweist Projekt A nicht auf Projekt B, wenn die .NET Framework-Version von Projekt B höher ist.

5
Daniel Minnaar

Ich weiß nicht, ob ich der einzige bin, der sich diesem Problem stellt. In meinem Fall war beim Öffnen von Visual Studio die Zeitzone in GMT + 1: 00 und der Build war erfolgreich. Dann habe ich die Zeitzone in GMT + 5: 30 geändert. Ohne Visual Studio neu zu starten, habe ich versucht, die Anwendung aber den Build auszuführen Ohne Fehler oder Warnung fehlgeschlagen, dann habe ich die Zeitzone zurück in GMT + 1: 00 geändert und der Build ist ohne Fehler erfolgreich abgeschlossen. 

Überprüfen Sie die Warnungen.

Ich hatte die neue Klassenbibliothek mit .Net Framework 4.5, während das referenzierende Projekt 4.0 war, was zu Referenzproblemen führte.

Nach dem Ändern der Klassenbibliothek mit target .Net Framework 4.0 funktionierte es einwandfrei.

2
user3171101

Nichts von den obigen Antworten hat mir geholfen. Nach vielen Experimenten habe ich endlich herausgefunden, dass das Problem eine Referenz von Microsoft.Net.Compilers v2.10.0 in einem der Projekte ist. VS 2015 verwendet MSBuild v14, das diese Version von Microsoft.Net.Compilers nicht unterstützt.

2
Petar Petrov

Ich hatte dieses Problem und es stellte sich heraus, dass ich eine using hatte, die auf einen leeren Namespace verweist. Durch das Entfernen der using-Klausel wurde das Problem behoben

2
Phate01

Was ich getan habe (nach all dem oben genannten, und es funktionierte immer noch nicht) war, dass ich alle bin-Ordner durchleere und sie alle lösche (dh auch die referenzierten Projekte). 

Das hat für mich funktioniert, hoffe es auch für Sie.

1
Rodney Ellis

Wenn Sie eine Lösung öffnen, generieren Sie sie. Auf der Registerkarte "Ausgabe" werden einige Fehler oder Warnungen angezeigt, während die Registerkarte "Fehler" keine Probleme meldet.

 enter image description here

Sie sehen, dass die "Fehlerregisterkarte" in Ordnung ist ("Nur Build" und "Gesamte Lösung" ausgewählt).

Beachten Sie, dass ich nach einer gründlichen Untersuchung festgestellt habe, dass dies nur dann der Fall ist, wenn die Registerkarte "Fehler" beim Starten des Builds noch nicht angezeigt wurde!

Wenn Sie die "Fehlerregisterkarte" aktiviert haben, bevor Sie mit dem Build beginnen (oder wenn Sie beim Start von Visual die aktuelle Registerkarte waren), werden neu gefundene Fehler/Warnungen korrekt angezeigt:

 enter image description here

Es ist, als ob die "Fehlerregisterkarte" nur dann initialisiert wird, wenn sie sichtbar wird (was wahr sein kann, da beim erstmaligen Klicken mehr Zeit benötigt wird ...), und wenn dies nicht der Fall ist, wird kein Build erstellt Ergebnisse...

Bisher gibt es keine bessere Antwort auf dieses Problem als "aktivieren Sie vor dem Erstellen die Registerkarte Fehler".

Ich wette, deshalb funktioniert das "Neustarten von VS" manchmal. Sie sehen, dass die Registerkarte "Fehler" leer ist. Sie schließen VS und führen sie erneut aus. Anschließend wird "Fehler" standardmäßig angezeigt, wenn VS die aktuell aktive Registerkarte aus der vorherigen Sitzung wiederhergestellt hat. Du baust und jetzt wird die "Fehlerregisterkarte" aufgefüllt ...! Du hast gerade Glück gehabt.

Hinweis: Ein VS-Fehler wurde gemeldet: https://connect.Microsoft.com/VisualStudio/feedback/details/3132689

1
jpo38

Für mich war dieses Problem mit einer benutzerdefinierten CodeAnalysis-Regelsatzeinstellung "IncludeAll" verbunden.

Es scheint, dass der Compiler diese Einstellung einhält:

  <IncludeAll Action="Error" />

IntelliSense hat jedoch die Standard-ACTION für die Regel-ID "Warnung" übernommen. Dies würde das Verhalten von @RobertHarvey erklären, bei dem Sie die Ausgabe nach Build Only filtern. Dies wird als -FEHLER angezeigt. Wenn Sie jedoch nach Intellisene Only filtern, wird es als WARNING angezeigt. Das Filtern der Ausgabe nach Standard Build + Intellisense scheint nicht deterministisch zu sein!

Meine Lösung bestand darin, explizit die Regel herauszustellen, dass ich eine Warnung als Warnung sein wollte.

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

Dies ist möglicherweise ein Problem, wenn Intellisense die Option IncludeAll nicht beachtet. Siehe https://github.com/dotnet/roslyn/issues/7400

1
felickz

Dies kann auch passieren, wenn ein Projekt mit einem älteren Framework zu Visual Studio 2015 migriert wird. Überprüfen Sie Ihre Warnungen in Ihrer Fehlerliste. Möglicherweise sehen Sie, dass das Projekt derzeit .NET Version 2.0 ist und .NET 3.5 oder höher erfordert. Wenn Sie eine ähnliche Warnung finden, wechseln Sie zu den Eigenschaften Ihres Projekts und richten Sie das erforderliche .NET Framework an. 

1
Tyriddik

Versuche dies

"mstscax.dll" aus den Abhängigkeiten auszuschließen, die für mich gearbeitet haben.

0
Emile Cloete

MSBuild.exe wird im Verzeichnis (C:\Programme (x86)\MSBuild\14.0\Bin) geändert.

so ersetze ich gerade das MSBuild.exe von anderem PC, der vs2015 hat.

Jetzt funktioniert es gut.

0
sabarish

Entgenommen aus dies Antwort 

Kompilierung fehlgeschlagen, im Ausgabefenster wurden keine Fehler angezeigt.

Um den Grund für das Problem herauszufinden, habe ich den Build .__ geändert. Ausgabe in VS: - Menü "Extras - Optionen" - Im linken Bereich: "Projekte und Lösungen: Erstellen und Ausführen": - Ändern Sie "MSBuild Output Verbosity" von "Minimal" in "Diagnose".

Danach fand ich den wahren Grund, der bei Abhängigkeitsprojekten tatsächlich ein Fehler war. Mein Projekt, von dem ich abhängig war, wurde für einen anderen Rahmen (neuer) als für meinen eigenen gebaut. So entsteht das Problem. Die Fehler wurden nur ausgegeben, wenn ich die Ausgabe-Ausführlichkeit in die Diagnose stelle

0
John Demetriou

Für mich war es ein Schurkenanhang. Das Problem war nicht unbedingt, dass ich keinen Fehler sehen konnte; Der Fehler war folgender:

Kindknoten "2" wurde vorzeitig beendet. Herunterfahren. Diagnoseinformationen befinden sich möglicherweise in Dateien im Verzeichnis für temporäre Dateien mit dem Namen MSBuild _ *. Failure.txt.

Ursprünglich hing das Build und es wurden keine Fehler angezeigt, es sei denn, Sie haben versucht, Visual Studio zu schließen. Nach dem Neustart hängt es beim Erstellen lange Zeit und zeigt dann die obige Meldung an. 

Das Löschen des versteckten .vs-Ordners, das Wiederherstellen/Reinigen der Lösung und das Neustarten von Visual Studio funktionierten nicht. Entfernen der angefügten Eigenschaft hat getan; ergo, könnte es tatsächlich Code sein, der nicht richtig funktioniert. 

Als letzten Ausweg würde ich alle kürzlich vorgenommenen Änderungen nach und nach entfernen, bis das Problem gelöst ist, da keine der Lösungen hier geholfen hat.

Update

Da ich gewohnt bin, traditionelle WPF-Anwendungen zu entwickeln, war mir nicht klar, dass Sie XAML-Namespaces nicht mit .s mit UWP "verketten" können. Ich habe versucht, eine angefügte Eigenschaft mit zu setzen

My.Namespace:SomeClass.SomeProperty="SomeValue"

Während es gerade sein sollte

MyNamespace:SomeClass.SomeProperty="SomeValue"

Es ist nicht so hübsch wie ich möchte, aber es ist der einzige Weg, anscheinend zu gehen.

0
James M

Bitte überprüfen Sie die Warnungen. Manchmal schlug der Build auch wegen Warnungen fehl.

0
Krishna

Was für mich funktioniert hat:

Das Schließen aller Dokumente löste das Problem für mich. (Gleiche Lösung, wenn intelliSense nicht mehr funktioniert)

(Rechtsklick-Tab - Alle Dokumente schließen)

0
Ziv Weissman

Für mich ist der Build ohne Fehler fehlgeschlagen, aber nach einer leichten Untersuchung habe ich herausgefunden, dass der Hinweis auf MSHTML nicht von VS gefunden wurde. 

enter image description here

Das Verhalten trat nach einem Update auf Windows 10 auf. Um dies zu beheben, müssen Sie die Assembly vom GAC aus registrieren. Um dies zu tun, gehen Sie zu dieser Antwort MSHTML DLL unter Windows 10 . Dort habe ich meine Antwort gefunden.

0
Fid

Nach dem Aktualisieren einer DLL-Datei stellte sich heraus, dass die neue Datei auf eine höhere Version von .NET Framework abzielte. Die Lösung bestand darin, zu den Projekteigenschaften zu wechseln und das Target-Framework in die entsprechende Version zu ändern.

0
usefulBee

Nischenausgabe: Ich bin gerade auf dieselbe Ausgabe gestoßen. Keine der obigen Antworten schien zu helfen.

Issue war für ein Console-Programm. Man kann die Main () -Methode nicht als asynchron kennzeichnen **, was ich auch tat. Nicht sicher, warum Visual Studio nicht angeben konnte, warum genau das Projekt nicht erstellt wurde (ich habe jedes Mal 0 Fehler und 0 Warnungen erhalten). Ich verwende Visual Studio 2015 Enterprise.

Fix: Die Abhilfe dafür ist hier .

0
user3613932