Comment réparer "L'élément racine est manquant." lors de la construction de Visual Studio (VS)?
Avez-vous une idée du fichier à examiner dans ma solution?
En fait, je reçois ce message d'erreur à l'intérieur de "Visual Build Pro" lorsque j'utilise la commande "Make VS 2008". Cette commande fonctionne très bien lors de la création d’autres solutions (environ 20) et je ne sais pas trop pourquoi la mienne reçoit l’erreur.
Toute aide serait très appréciée. :)
J'utilise VS 2008 et Visual Build Pro 6.7.
Assurez-vous que tout fichier XML (ou tout fichier pouvant être interprété comme un fichier XML par Visual Studio) possède une structure XML correcte, c'est-à-dire un élément racine (avec n'importe quel nom, j'ai utilisé rootElement
dans mon exemple):
<?xml version="1.0"?>
<rootElement>
...
</rootElement>
Dans mon cas, c’était le fichier xxxxxxxxxxxxx.vcxproj.user qui était à l’origine du problème (il était vide) après un crash. Je l'ai renommé et le problème a disparu.
Vous obtiendrez également le message "L'élément racine est manquant" lorsque la nomenclature est activée :). BOM = marque d'ordre d'octet. C'est un caractère supplémentaire qui est ajouté au début d'un fichier lorsqu'il est enregistré avec le mauvais codage.
Cela peut arriver parfois dans Visual Studio lorsque vous travaillez avec des fichiers XML. Vous pouvez coder quelque chose pour le supprimer de tous vos fichiers ou, si vous le connaissez, vous pouvez forcer Visual Studio à l'enregistrer avec un codage spécifique (utf-8 ou ascii IIRC).
Si vous ouvrez le fichier dans un éditeur autre que VS (essayez le bloc-notes ++), vous verrez deux caractères amusants avant le <? déclaration XML.
Pour résoudre ce problème dans VS, ouvrez le fichier dans VS, puis en fonction de la version de VS.
Dans mon cas.J'obtenais une erreur d'élément manquant indiquant le fichier NuGet.Config
.
<?xml version="1.0" encoding="utf-8"?>
<settings>
<repositoryPath>Packages</repositoryPath>
</settings>
alors je viens d'ajouter la balise configuration
qui enveloppe en fait le code XML en entier. Travaille maintenant bien pour moi
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<settings>
<repositoryPath>Packages</repositoryPath>
</settings>
</configuration>
Dans mon cas, lorsque j'ai ouvert le fichier .csproj
, celui-ci était vide, je suis allé à mon commit précédent dans git, j'ai copié le contenu de ce fichier et l'ai collé dans mon fichier .csproj
actuel. Après quoi, j'ai supprimé le fichier .csproj.user
, rechargé mon projet et tout a recommencé à fonctionner.
J'ai la même erreur. Microsoft.Data.Entity n'a pas pu charger l'élément racine manquant. Lorsque je supprime ce fichier de C:\Windows\Microsoft.NET\Framework\v4.0.30319 et que je réouvre ma solution, mon problème a été résolu. Tout va bien
Vous pouvez également rechercher le fichier. Accédez à votre répertoire de projet avec PowerShell et exécutez Get-FileMissingRoot:
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)
}
}
}
Dans mon cas, le fichier C:\Users\xxx\AppData\Local\PreEmptive Solutions\Dotfuscator Professional Edition\4.0\dfusrprf.xml
était plein de NULL.
Je l'ai supprimé; il a été recréé lors du premier lancement de Dotfuscator, puis la normalité a été restaurée.
J'avais un écran bleu lors de l'exécution de Visual Studio 2013, lorsque je redémarrais, j'avais l'intention d'exécuter à nouveau mon projet, mais j'avais toujours ce type d'erreur. .. de toute façon
Suppression des dossiers avec les informations temporaires Résoudre ce problème . Dans mon cas, le projet était un serveur Windows et créait un dossier contenant certaines informations Tem.
le dossier était
C:\Users\User_NAME\AppData\Local\NAme_OF_THeProject
inside Existe un dossier avec le nom du projet + une interface graphique générée Service.ServerHostLoader_Url_u2jn0xjjj1h0a3i2v03ft15vj4x52i
c'est le dossier que j'ai supprimé et je peux maintenant relancer le projet.
Cette erreur peut parfois se produire lorsque vous modifiez certains paramètres de la chaîne d’outils Atmel Studio 6.1.2730 SP2.
Dans mon cas, j'ai essayé de modifier Propriétés du projet> Chaîne d'outils> Éditeur de liens> Paramètres généraux avec l'option "Toutes les configurations" sélectionnée dans la configuration. Quand j'ai coché ou décoché un paramètre, une boîte de dialogue avec l'erreur est apparue. Cependant, j’ai découvert que je pouvais apporter les mêmes modifications si je ne les appliquais qu’à une seule configuration à la fois; c'est-à-dire avec uniquement 'Debug' ou 'Release' sélectionné au lieu de 'Toutes les configurations'.
Fait intéressant, j'ai pu par la suite éditer les mêmes paramètres de l'éditeur de liens même avec l'option 'Toutes les configurations' sélectionnée. Je ne sais pas ce qui a changé dans mon projet qui a rendu cela possible.
J'ai eu le même problème dans un projet Xamarin Forms. Le projet iOS n'était pas disponible et je ne pouvais pas recharger le projet. Je cherchais une solution qui ne nécessite aucune désinstallation.
La réponse que j’ai obtenue de ce blog: https://dev.to/codeprototype/xamarin-form-application-failed-toload-Android-project-root-element-missing--27o0
Donc, sans rien désinstaller, vous pouvez supprimer le.csproj.user (ou le renommer) afin que Visual Studio crée le fichier à nouveau. Travaillé pour moi deux fois.
Cette erreur est causée par un fichier proj corrompu. Visual Studio allway a un fichier de projet de sauvegarde dans un dossier spécifique Original-mai-18-2018-1209h..csproj Récupéré-18 mai-18h18-2019..csproj
Vous avez seulement besoin du fichier de copie: Original-18 mai 2017..csproj Et renommez-le en .csproj & overide dans le dossier racine du projet . Le problème est résolu!
Dans mon cas, j'ai mis à niveau vers VS2017 et je voulais construire tous les projets avec MSBuild 4 avec mon script de construction (qui utilisait MSBuild 3.5 lorsque nous utilisions VS2015). Cette mise à niveau de MSBuild semblait correcte pour les applications de bureau Windows, mais celles de Windows CE avec un cadre compact me donnaient cette erreur déroutante. Le retour à MSBuild 3.5 pour les projets Windows CE a résolu le problème pour moi.
J'ai eu la BOM dans les fichiers .csproj en passant et les ai supprimés pour tous les projets dans une solution qui ne se construirait pas, mais qui ne l'aiderait pas.
J'avais ce problème sous VS 2017, lors de la construction, l'erreur «L'élément racine manquait» a été générée. Ce qui a résolu le problème pour moi était d'aller dans Outils> Gestionnaire de paquets Nuget> Paramètres du gestionnaire de paquets> Général> Effacer tous les caches Nuget . Après avoir fait cela, j'ai relancé la construction et elle a été corrigée.
Dans mon cas, je viens de renommer le .csproj.user, de redémarrer Visual Studio et d’ouvrir le projet. Il a automatiquement créé un autre fichier .csproj.user et la solution a bien fonctionné pour moi.
La suppression du fichier .user est exactement ce qui a résolu le problème pour moi. Un coup de foudre près du bureau a éteint mon ordinateur et corrompu mon fichier .user et le projet ne s'est pas chargé. J'ai ouvert le fichier dans Notepad ++ et les "espaces" se sont avérés être des caractères [NULL]. Supprimé le fichier .user et le fichier chargé!
source https://forums.asp.net/t/1491251.aspx?Can+t+load+project+because+root+element+is+missing+
Dans le projet de forme xamarin. j'ai effacé
.VS Project folder.
ProjectName.Android.csProj.User
ProjectName.Android.csProj.bak
Dans mon cas, j'utilisais vs 2010 avec Crystal Report. Innerexception a révélé que l'élément racine manquait d'erreur. Allez dans le répertoire tel que C:\Utilisateurs\sam\AppData\Local\dssms\dssms.vshost.exe_Url_uy5is55gioxym5avqidulehrfjbdsn13\1.0.0.0 qui est donné dans le message inermerm et assurez-vous que user.config est un fichier XML correct (le mien était vide pour une raison quelconque).
Dans mon cas, xxxx.pubxml.user n'a pas été chargé lors d'une tentative de publication de l'application. J'ai supprimé le fichier et redémarré le studio visuel, puis créé un nouveau profil pour le publier. Le problème est résolu et publié avec succès.
Hé, j'ai le même problème sur Mac travaillant sur une solution Cocoa C #. (Mais je l'ai résolu!)
Il est toujours indiqué que l'élément racine est manquant, il ne peut donc pas charger mon fichier de projet C #.
J'ai l'édition 2017 de Visual Studio Mac Community Edition… .. J'ai finalement réussi à trouver une solution après plusieurs heures (douloureuse!).
Ma solution est parce que les frameworks liés à Visual Studio sont anciens ou cassés ..__ J'ai trouvé cela parce que j'ai essayé de créer une nouvelle solution Mac par Cocoa et que cela disait "Échec de l'enregistrement de la solution". Ensuite, j’ai essayé de créer une solution Android et tout fonctionnait bien . Allez dans votre "Finder" et "Go" -> "Aller à un dossier" puis dans "Bibliothèque/Frameworks". J'ai supprimé mono.framework et les frameworks liés à Xamarin car je pense que ces frameworks sont cassés.
Ensuite, désinstallé Visual Studio et le réinstallé. Maintenant tout fonctionne bien!
J'ai eu ce problème sur un projet Web API. Finalement, j'ai compris que c'était dans mes commentaires de méthode "///". J'ai ces commentaires mis à générer automatiquement la documentation pour les méthodes de l'API. Quelque chose dans mes commentaires l'a rendu fou. J'ai supprimé tous les retours à la calèche, les caractères spéciaux, etc.
Il a simplement résolu ce problème en accédant à l'Explorateur de contrôle de code source et en sélectionnant le projet de problème, en effectuant un clic droit et en sélectionnant l'option Obtenir une version spécifique dans le menu Avancé. Et puis sélectionné Tapez comme dernière version et cochez les deux cases suivantes, puis cliquez sur le bouton Obtenir. Ensuite, j'ai actualisé la solution et mon projet est revenu vivre et le problème a disparu. Veuillez noter que cela pourrait écraser vos projets locaux et donc que vos modifications actuelles pourraient être perdues. Donc, si vous n'avez pas de problèmes avec votre copie locale, vous pouvez essayer ceci. J'espère que ça aide
Dans mon cas, le problème est dû à la fermeture de mon ordinateur alors que Visual Studio restait ouvert. Le fichier csproj.user est donc enregistré vide. Heureusement, j'ai déjà sauvegardé, alors je viens de copier tout le code XML de csproj.user et de le coller dans mon fichier de projet affecté csproj.user, afin que cela fonctionne parfaitement.
Ce fichier ne contient que des informations sur le périphérique de construction et quelques autres.
Dans mon cas, j'ai reçu un message comme celui-ci: Voir cette image
Je viens de commenter le code snippé ci-dessous dans le fichier de projet (.csproj) et le problème a été résolu.
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
Dans mon cas Microsoft.Common.CurrentVersion.targets était corrompu. J'ai copié ce fichier à partir d'un autre système et cela a fonctionné.
Dans mon cas, j'ai eu cette erreur à cause d'un fichier vide packages.config
. Cela a entraîné l'échec du gestionnaire de paquets NUGET et l'affichage de l'erreur L'élément racine est manquant. La solution était de copier des éléments d’un autre fichier non vide, puis de le modifier en fonction des besoins.
Exemple (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>
J'ai eu quelques crashs massifs de la communauté VS2015.
Supprimer tous les fichiers .csproj.user
qui étaient pleins de caractères nuls, et aussi ceux-ci
C:\Utilisateurs\Nom d'utilisateur\AppData\Local\Temp \
.NETFramework, Version = v4.0.AssemblyAttributes.cs .NETFramework, Version = v4.5.AssemblyAttributes.cs .NETFramework, Version = v4.5.2.AssemblyAttributes.cs
Dans mon cas, les fichiers RDLC fonctionnent avec les fichiers de ressources (.resx). Cette erreur me causait car je n'avais pas créé le fichier resx correspondant pour mon rapport rdlc.
Ma solution a été d'ajouter le fichier .resx à l'intérieur de App_LocalResources de la manière suivante:
\rep
\rep\myreport.rdlc
\rep\App_LocalResources\myreport.rdlc.resx
C'était facile à résoudre que je pensais. Je n'ai fait que vider le dossier cache du site Web.
Supprimer tout de
LETTRE DE LECTEUR DE SE:\Utilisateurs\NOM UTILISATEUR\AppData\Local\Microsoft\WebsiteCache
exemple
C:\Utilisateurs\Jack\AppData\Local\Microsoft\WebsiteCache
Pour plus de conseils visuels sur les studios, rendez-vous sur Mon Blog
Aucune de ces solutions n'a résolu mon problème.
Dans mon cas, j'ai fini mon travail et j'ai éteint mon ordinateur. Le lendemain, je n'ai pas pu compiler mon projet. J'ai essayé certaines de ces solutions et j'ai réalisé que tous mes projets ne fonctionnaient pas.
Pour y remédier, je réinstalle .net core Framework.
Visual Studio 2017
Dans mon cas, le fichier .csproj a été modifié au format codé. J'ai annulé les modifications apportées à csproj dans Git (Team Explorer) et rechargé le fichier de projet. Cela a résolu le problème.