web-dev-qa-db-de.com

Wie zu beheben "Root-Element fehlt" beim Erstellen eines Visual Studio (VS) Builds?

Wie zu beheben "Root-Element fehlt" beim Erstellen eines Visual Studio (VS) Builds?

Irgendeine Idee, welche Datei ich in meiner Lösung betrachten sollte?

Tatsächlich erhalte ich diese Fehlermeldung innerhalb von "Visual Build Pro", wenn Sie den Befehl "Make VS 2008" verwenden. Dieser Befehl funktioniert gut, wenn andere Lösungen erstellt werden (wie etwa 20), und ich bin mir nicht wirklich sicher, warum bei mir der Fehler auftritt. 

Jede Hilfe wäre sehr dankbar. :) 

Ich verwende VS 2008 und Visual Build Pro 6.7.

53
Gerhard Weiss

Stellen Sie sicher, dass jede XML-Datei (oder jede Datei, die von Visual Studio als XML-Datei interpretiert wird) eine korrekte XML-Struktur hat, dh ein Stammelement (mit einem beliebigen Namen habe ich in meinem Beispiel rootElement verwendet):

<?xml version="1.0"?> 
<rootElement>
 ...
</rootElement>
30
Oded

In meinem Fall war es die Datei xxxxxxxxxxxx.vcxproj.user, die nach einem Absturz das Problem verursacht hat (es war leer). Ich habe es umbenannt und das Problem ist weg.

36
Elliot

Sie erhalten auch "Wurzelelement fehlt", wenn die Stückliste zuschlägt :). BOM = Byte-Auftragsmarke. Dies ist ein zusätzliches Zeichen, das am Anfang einer Datei hinzugefügt wird, wenn es mit der falschen Kodierung gespeichert wird.
Dies kann in Visual Studio manchmal vorkommen, wenn Sie mit XML-Dateien arbeiten. Sie können entweder etwas codieren, um es aus allen Dateien zu entfernen, oder wenn Sie wissen, welche Datei Sie sind, können Sie Visual Studio zwingen, es mit einer bestimmten Codierung (utf-8 oder ascii IIRC) zu speichern. 

Wenn Sie die Datei in einem anderen Editor als VS öffnen (versuchen Sie Notepad ++), sehen Sie vor dem <? XML-Deklaration.

Um dies in VS zu beheben, öffnen Sie die Datei in VS und dann abhängig von der Version von VS

  • Datei> Erweiterte Speicheroptionen> Wählen Sie eine geeignete Kodierung
  • Datei> Speichern unter> Behalten Sie den Dateinamen bei und klicken Sie auf den Dropdown-Pfeil rechts neben der Schaltfläche "Speichern", um eine Kodierung auszuwählen
31
stombeur

In meinem Fall bekam ich fehlende Elementfehler wies auf NuGet.Config-Datei . Zu dieser Zeit sah es so aus

<?xml version="1.0" encoding="utf-8"?>
<settings>
  <repositoryPath>Packages</repositoryPath>
</settings>

dann fügte ich gerade configuration-Tag hinzu, das die gesamte XML einschließt. Jetzt funktioniert es gut für mich

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <settings>
     <repositoryPath>Packages</repositoryPath>
  </settings>
</configuration>
13
Malik Khalil

Als ich die .csproj-Datei öffnete, war sie in meinem Fall leer. Ich ging zu meinem vorherigen Commit in git, kopierte den Inhalt dieser Datei und fügte sie meiner aktuellen .csproj-Datei hinzu. Danach löschte ich die .csproj.user-Datei, lud mein Projekt neu und alles begann wieder zu funktionieren.

4
Alf Moh

Ich habe den gleichen Fehler bekommen. Fehler angezeigt Microsoft.Data.Entity konnte das fehlende Wurzelelement nicht laden. Wenn ich diese Datei aus C:\Windows\Microsoft.NET\Framework\v4.0.30319 lösche und meine Lösung wieder öffne, wurde mein Problem gelöst. Alles ist gut

4
user4481951

Sie können auch nach der Datei suchen. Navigieren Sie mit PowerShell zu Ihrem Projektverzeichnis und führen Sie Get-FileMissingRoot aus:

function Get-FileMissingRoot {

    dir -recurse |
        where {
            ($_ -is [IO.FileInfo]) -and 
            (@(".xml", ".config") -contains $_.extension) 
        } |
        foreach {
            $xml = New-Object Xml.XmlDocument;
            $filename = $_.FullName
            try {
                $xml.Load($filename)
            }
            catch {
                write ("File: " + $filename)
                write ($_.Exception.Message)
            }
        }
}
3
Sam Porch

In meinem Fall war die Datei C:\Users\xxx\AppData\Local\PreEmptive Solutions\Dotfuscator Professional Edition\4.0\dfusrprf.xml voll mit NULL.

Ich habe es gelöscht; Beim ersten Start von Dotfuscator wurde es neu erstellt, und danach wurde die Normalität wiederhergestellt.

3
pascal

Ich hatte während der Ausführung von Visual Studio 2013 Blue Screen. Beim Neustart wollte ich mein Projekt erneut ausführen, aber ich hatte immer diesen headius Error ..__ 

Löschen der Ordner mit den Temp-Informationen Beheben Sie dieses Problem . In meinem Fall war das Projekt ein Windows-Server. Grundsätzlich wird ein Ordner mit einigen Tem-Informationen erstellt.

der Ordner war

C:\Users\User_NAME\AppData\Local\NAme_OF_THeProject

inside Exist einen Ordner mit dem Namen des Projekts + einige generierte GUI Service.ServerHostLoader_Url_u2jn0xkgjf1th0a3i2v03ft15vj4x52i

dies ist der Ordner, den ich gelöscht habe, und jetzt kann ich das Projekt erneut ausführen.

2
Ramomex1

Dieser Fehler kann manchmal auftreten, wenn Sie einige Einstellungen von Project Toolchain Atmel Studio 6.1.2730 SP2 bearbeiten.

In meinem Fall habe ich versucht, Projekteigenschaften> Toolchain> Linker> Allgemeine Einstellungen mit 'Alle Konfigurationen' in der Konfiguration zu bearbeiten. Wenn ich eine Einstellung aktiviert oder deaktiviert habe, wurde ein Dialogfeld mit dem Fehler angezeigt. Ich stellte jedoch fest, dass ich die gleichen Änderungen vornehmen konnte, wenn ich sie jeweils nur für eine Build-Konfiguration ausrichtete. d. h. mit nur 'Debug' oder 'Release' anstelle von 'All Configurations'.

Interessanterweise war ich später in der Lage, dieselben Linker-Einstellungen zu bearbeiten, auch wenn "Alle Konfigurationen" ausgewählt war. Ich weiß nicht, was sich in meinem Projekt geändert hat.

2
ptschnack

Ich hatte das gleiche Problem in einem Xamarin Forms-Projekt. Das iOS-Projekt war nicht verfügbar und ich konnte das Projekt nicht erneut laden. Ich habe nach einer Lösung gesucht, die nichts deinstallieren muss. 

Die Antwort, die ich in diesem Blog erhielt, ist: https://dev.to/codeprototype/xamarin-form-application-failed-to-load-Android-projekt-root-element-missing--27o0

Wenn Sie also nichts deinstallieren, können Sie löschen Sie die.csproj.user -Datei (oder benennen Sie sie um), damit Visual Studio die Datei erneut erstellt. Ich habe zweimal für mich gearbeitet.

1
Tharindu

Dieser Fehler wird durch eine beschädigte Proj-Datei verursacht. Visual Studio hat immer eine Sicherungsprojektdatei in einem bestimmten Ordner . Pls navigieren zu: C:\Benutzer \\ Dokumente\Visual Studio\Sicherungsdateien\ Sie sehen 2 gleiche Dateien wie : Original-18-Mai-2008-1209PM..csproj Wiederhergestellt-18-Mai-2008-1209PM..csproj

Sie brauchen nur die Datei kopieren: Original-18.05.2008-1209PM..csproj Umbenennen in .csproj & overide im Stammverzeichnis des Projektordners .

1
user3037124

In meinem Fall habe ich ein Upgrade auf VS2017 durchgeführt und wollte alle Projekte mit MSBuild 4 mit meinem Build-Skript erstellen (das MSBuild 3.5 verwendet hatte, als wir VS2015 verwendeten). Das MSBuild-Upgrade war für die Windows-Desktopanwendungen in Ordnung, aber die für Windows CE mit Compact Framework würden diesen verwirrenden Fehler verursachen. Die Umstellung auf MSBuild 3.5 für Windows CE-Projekte hat das Problem für mich behoben.

Ich hatte die BOM übrigens in .csproj-Dateien und entfernte sie für alle Projekte in einer Lösung, die nicht erstellt werden konnte, aber das half nicht.

1
Martin Maat

Ich hatte dieses Problem bei der Ausführung von VS 2017. Beim Erstellen erhielt ich den Fehler, dass das "Wurzelelement" fehlte. Was für mich gelöst wurde, war: Tools> Nuget Package Manager> Package Manager-Einstellungen> Allgemein> Alle Nuget-Caches löschen . Danach habe ich den Build erneut ausgeführt und es wurde behoben. 

1
Shawn Hill

In meinem Fall habe ich gerade die .csproj.user umbenannt und das Visual Studio neu gestartet und das Projekt geöffnet. Es wurde automatisch eine weitere .csproj.user-Datei erstellt, und die Lösung hat für mich einwandfrei funktioniert.

0
MBA

Das Löschen der .user-Datei hat genau das Problem für mich behoben. Ein Blitzschlag in der Nähe des Büros fuhr meinen PC herunter und beschädigte meine .user-Datei und mein Projekt wurde nicht geladen. Ich habe die Datei in Notepad ++ geöffnet und die "Leerzeichen" haben sich als [NULL] -Zeichen herausgestellt. Löschte die .user-Datei und die geladene Datei!

source https://forums.asp.net/t/1491251.aspx?Can+t+load+project+because+root+element+is+missing+

0
Shailendra bind

In einem Xamarin-Formprojekt. Ich löschte 

.VS Project folder.
ProjectName.Android.csProj.User
ProjectName.Android.csProj.bak
0
A.Goutam

In meinem Fall habe ich vs 2010 mit Crystal Report verwendet. Innerexception enthüllte Wurzelelement Fehler. Wechseln Sie in ein Verzeichnis wie C:\Users\sam\AppData\Local\dssms\dssms.vshost.exe_Url_uy5is55gioxym5avqidulehrfjbdsn13\1.0.0.0, das in der Innermessage angegeben ist, und stellen Sie sicher, dass user.config die richtige XML-Datei ist (meine war aus irgendeinem Grund leer).

0
Nie Selam

In meinem Fall wurde xxxx.pubxml.user beim Versuch, die Anwendung zu veröffentlichen, nicht geladen. Ich habe die Datei gelöscht und das Visual Studio neu gestartet, dann ein neues Profil erstellt, um es zu veröffentlichen. Das Problem wurde gelöst und erfolgreich veröffentlicht.

0
Muhammad Masud

Hey, ich habe das gleiche Problem auf Mac, das an einer Cocoa C # -Lösung arbeitet. (Aber ich habe es gelöst!)

Es besagt immer, dass das Stammelement fehlt, sodass meine C # -Projektdatei nicht geladen werden kann.

Ich habe die Visual Studio Mac Community Edition 2017. Ich habe nach einigen Stunden endlich eine Lösung gefunden (schmerzhaft!).

Meine Lösung ist, weil die Frameworks, die mit Visual Studio in Verbindung stehen, alt oder kaputt sind .. Ich fand dies, weil ich versuchte, eine neue Mac-Lösung von Cocoa zu erstellen. Dann habe ich versucht, eine Android-Lösung zu erstellen, und es funktioniert einwandfrei . Gehen Sie zu Ihrem "Finder" und "Gehe zu" -> "Gehe zu einem Ordner" und gehen Sie dann zu "Bibliothek/Frameworks". Ich habe mono.framework und Frameworks in Bezug auf Xamarin gelöscht, weil ich glaube, dass diese Xamarin-Frameworks defekt sind.

Anschließend wurde das Visual Studio deinstalliert und erneut installiert. Jetzt funktioniert alles gut!

0
Can Gao

Ich habe dieses Problem in einem Web-API-Projekt erhalten. Schließlich herausgefunden, dass es in meinen "///" Methodenkommentaren war. Ich habe diese Kommentare festgelegt, um die Dokumentation für die API-Methoden automatisch zu generieren. Etwas in meinen Kommentaren machte es verrückt. Ich habe alle Wagenrückläufe, Sonderzeichen usw. gelöscht. Ich bin mir nicht wirklich sicher, was ihm nicht gefällt, aber es hat funktioniert.

0
Jarrette

Ich habe dieses Problem einfach gelöst, indem Sie zum Explorer für die Quellcodeverwaltung gegangen sind und das Problemprojekt ausgewählt haben. Wählen Sie dann Type als Latest Version aus und aktivieren Sie die beiden Kontrollkästchen, und klicken Sie auf die Schaltfläche Get. Dann erneuerte ich die Lösung und mein Projekt kam wieder zum Leben und das Problem ist weg. Bitte beachten Sie, dass dies Ihre lokalen Projekte überschreiben kann, sodass Ihre aktuellen Änderungen verloren gehen können. Wenn Sie also keine Probleme mit Ihrer lokalen Kopie haben, können Sie dies versuchen. Ich hoffe es hilft

0
Nithin Paul

In meinem Fall trat das Problem auf, weil mein PC geschlossen wurde, während Visual Studio geöffnet blieb. Die Datei csproj.user wurde also leer gespeichert. Glücklicherweise habe ich bereits ein Backup erstellt, also habe ich einfach alle XML-Dateien von csproj.user kopiert und in meine betroffene Projektdatei csproj.user eingefügt, so dass es einwandfrei funktioniert.

Diese Datei enthält lediglich Informationen zu Gebäudegeräten und einige weitere Informationen.

0
Mir Karam

In meinem Fall erhielt ich eine Nachricht wie diese: Siehe dieses Bild

Ich habe gerade den abgeschnittenen Code in der Projektdatei (.csproj) kommentiert und das Problem wurde behoben.

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
0

In meinem Fall war Microsoft.Common.CurrentVersion.targets beschädigt. Ich habe diese Datei von einem anderen System kopiert und es hat funktioniert.

0
Vivek Pandey

In meinem Fall habe ich diesen Fehler wegen einer leeren packages.config-Datei erhalten. Dies hat dazu geführt, dass der NUGET-Paketmanager fehlgeschlagen ist und der Fehler angezeigt wird. Das Root-Element fehlt. Die Auflösung bestand darin, Elemente aus einer anderen nicht leeren Datei zu übernehmen und sie entsprechend den Anforderungen zu ändern.

Beispiel (packages.config):

<?xml version="1.0" encoding="utf-8"?>
<packages>
 <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net451"/>
 <package id="Newtonsoft.Json" version="5.0.4" targetFramework="net451"/>
</packages>
0
Matt

Ich hatte einige massive VS2015-Community-Abstürze.

Löschen Sie alle .csproj.user-Dateien

die waren voll von Nullzeichen und auch diese

C:\Benutzer\Benutzername\AppData\Local\Temp \

.NETFramework, Version = v4.0.AssemblyAttributes.cs .NETFramework, Version = v4.5.AssemblyAttributes.cs .NETFramework, Version = v4.5.2.AssemblyAttributes.cs

0
CRice

In meinem Fall arbeiten die RDLC-Dateien mit Ressourcendateien (.resx). Ich hatte diesen Fehler, weil ich die korrespondierende Resx-Datei für meinen RDLC-Bericht nicht erstellt hatte.

Meine Lösung war das Hinzufügen der Datei .resx in die App_LocalResources auf diese Weise:

\rep
\rep\myreport.rdlc
\rep\App_LocalResources\myreport.rdlc.resx
0
Wilson

Das war leicht zu beheben, als ich dachte. Alles was ich tat, war den Cache-Ordner der Website zu löschen.

Alles löschen aus 

DRIVE LETTER OF OS:\Benutzer\BENUTZERNAME\AppData\Local\Microsoft\WebsiteCache

beispiel

C:\Benutzer\Jack\AppData\Local\Microsoft\WebsiteCache

Weitere visuelle Studiotipps finden Sie unter Mein Blog

Keine dieser Lösungen hat mein Problem behoben.

In meinem Fall habe ich meine Arbeit beendet und meinen Computer heruntergefahren. Am Tag danach konnte ich mein Projekt nicht kompilieren. Ich habe einige dieser Lösungen ausprobiert und festgestellt, dass alle meine Projekte nicht funktionieren.

Um dies zu beheben, installiere ich das .net Core Framework neu.

Visual Studio 2017

0
AFetter

In meinem Fall wurde .csproj in ein verschlüsseltes Format geändert. Ich habe Änderungen an csproj in Git (Team Explorer) rückgängig gemacht und die Projektdatei neu geladen. Dies löste das Problem.

0
Archana R