Как исправить "Корневой элемент отсутствует". при сборке Visual Studio (VS)?
Как исправить "Корневой элемент отсутствует". при сборке Visual Studio (VS)?
Любая идея, какой файл я должен посмотреть в моем решении?
На самом деле, я получаю это сообщение об ошибке внутри "Visual Build Pro" при использовании команды "Make VS 2008". Эта команда прекрасно работает при построении других решений (например, около 20), и я не совсем уверен, почему мое получает ошибку.
Любая помощь будет очень высоко ценится.:)
Я использую VS 2008 и Visual Build Pro 6.7.
34 ответа
Убедитесь, что любой XML-файл (или любой файл, который будет интерпретирован Visual Studio как XML-файл) имеет правильную XML-структуру, то есть один корневой элемент (с любым именем, которое я использую rootElement
в моем примере):
<?xml version="1.0"?>
<rootElement>
...
</rootElement>
В моем случае это был файл xxxxxxxxxxxx.vcxproj.user, который вызывал проблему (он был пустым) после сбоя. Я переименовал его, и проблема ушла.
Вы также получите "корневой элемент отсутствует", когда ударяет спецификация:). BOM = метка порядка байтов. Это дополнительный символ, который добавляется в начало файла, когда он сохраняется с неправильной кодировкой.
Это может происходить иногда в Visual Studio при работе с файлами XML. Вы можете либо кодировать что-то, чтобы удалить это из всех ваших файлов, либо, если вы знаете, какой это файл, вы можете заставить Visual Studio сохранить его с определенной кодировкой (utf-8 или ascii IIRC).
Если вы откроете файл в редакторе, отличном от VS (попробуйте notepad++), перед Вы увидите два забавных символа. XML декларация.
Чтобы исправить это в VS, откройте файл в VS и затем в зависимости от версии VS
- Файл> Дополнительные параметры сохранения> выберите подходящую кодировку
- Файл> Сохранить как> сохранить имя файла, нажмите стрелку раскрывающегося списка справа от кнопки сохранения, чтобы выбрать кодировку
В моем случае. У меня была ошибка пропущенного элемента, указывающая на NuGet.Config
файл. В то время это выглядело примерно так
<?xml version="1.0" encoding="utf-8"?>
<settings>
<repositoryPath>Packages</repositoryPath>
</settings>
тогда я просто добавил configuration
тег, который на самом деле оборачивает весь XML. Сейчас у меня работает нормально
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<settings>
<repositoryPath>Packages</repositoryPath>
</settings>
</configuration>
Эта ошибка вызвана повреждением файла Proj. Visual Studio всегда имеет резервный файл проекта в определенной папке. Просьба перейти к: C:\Users\\Documents\Visual Studio \Backup Files\. Вы можете увидеть 2 файла, таких же как: Original-May-18-2018-1209PM..csproj Recovered-May-18-2018-1209PM..csproj
Вам нужно только скопировать файл: Original-May-18-2018-1209PM..csproj и переименовать его в.csproj & overide в корневой папке проекта. Проблема решена!
Мой проект не загрузился и дал мне
Root Element Missing
ошибка. Я только что удалил
****.csproj.user
файл и перезагрузил его снова. Проблема была решена таким образом
В моем случае, когда я открыл .csproj
файл, он был пустым, поэтому я пошел на свой предыдущий коммит в git, скопировал содержимое этого файла и вставил в него свой текущий .csproj
файл. После чего я удалил .csproj.user
файл, перезагрузил мой проект, и все снова заработало.
Вы также можете искать файл. Перейдите в каталог проекта с помощью PowerShell и запустите 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)
}
}
}
У меня была эта проблема при запуске VS 2017, при сборке я получал сообщение об ошибке "отсутствует корневой элемент". Для меня это решило в разделе Инструменты> Диспетчер пакетов Nuget> Настройки диспетчера пакетов> Общие> Очистить все кэши Nuget. После этого я снова запустил сборку, и она была исправлена.
В моем случае.csproj был изменен на закодированный формат. Я отменил изменения в csproj в Git(Team explorer) и перезагрузил файл проекта. Это решило проблему.
Я получил ту же ошибку. показывая ошибку Microsoft.Data.Entity не удалось загрузить корневой элемент отсутствует. Когда я удалил этот файл из C:\Windows\Microsoft.NET\Framework\v4.0.30319 и снова открыл свое решение, моя проблема была решена. Все отлично работает
В моем случае файл C:\Users\xxx\AppData\Local\PreEmptive Solutions\Dotfuscator Professional Edition\4.0\dfusrprf.xml
был полон NULL.
Я удалил это; он был воссоздан при первом запуске Dotfuscator, и после этого нормальность была восстановлена.
В форме проекта xamarin. я удалил
.VS Project folder.
ProjectName.Android.csProj.User
ProjectName.Android.csProj.bak
Эта ошибка может иногда возникать при редактировании некоторых настроек Project Toolchain Atmel Studio 6.1.2730 SP2.
В моем случае я попытался отредактировать Свойства проекта> Связка инструментов> Компоновщик> Общие настройки, выбрав "Все конфигурации" в Конфигурации. Когда я проверил или снял флажок настройки, всплыло диалоговое окно с ошибкой. Однако я обнаружил, что могу вносить те же правки, если я делаю их только для одной конфигурации сборки одновременно; то есть с выбранными только "Отладка" или "Выпуск" вместо "Все конфигурации".
Интересно, что позже я смог отредактировать те же настройки компоновщика, даже когда выбрано "Все конфигурации". Я не знаю, что изменилось в моем проекте, что сделало это возможным.
У меня был Blue Screen при запуске Visual Studio 2013, когда я перезапускал, я намеревался снова запустить свой проект, но у меня всегда была эта ошибка. тем не мение
Удаление папок с информацией о темпах Устраните эту проблему. в моем случае проект был Windows Server, и в основном он создает папку с некоторой информацией Tem.
папка была
C:\Users\User_NAME\AppData\Local\NAme_OF_THeProject
внутри Существующей папки с именем проекта + некоторый Сгенерированный Сервис GUI.ServerHostLoader_Url_u2jn0xkgjf1th0a3i2v03ft15vj4x52i
это папка, которую я удалил, и теперь я могу снова запустить проект.
В моем случае я обновился до VS2017 и хотел собрать все проекты с MSBuild 4 с помощью моего скрипта сборки (который использовал MSBuild 3.5, когда мы использовали VS2015). То, что обновление MSBuild выглядело хорошо для настольных приложений Windows, но для Windows CE с компактным фреймворком дало бы мне эту запутанную ошибку. Возврат к MSBuild 3.5 для проектов Windows CE исправил проблему для меня.
Кстати, у меня была спецификация в файлах.csproj, и я удалил их для всех проектов в решении, которое не будет создано, но это не поможет.
Привет, у меня та же проблема на Mac, работающем над решением Cocoa C#.(Но я решил это!)
Всегда говорят, что корневой элемент отсутствует, поэтому он не может загрузить мой файл проекта C#.
У меня есть Visual Studio Mac Community Edition 2017 года. Наконец мне удалось найти решение через несколько часов (больно!).
Мое решение заключается в том, что фреймворки, связанные с Visual Studio, старые или сломанные. Я нашел это, потому что я пытался создать новое решение для Mac с помощью Cocoa, и он сказал, что "не удалось сохранить решение". Затем я попытался создать Android-решение, и оно работает нормально. Перейдите в "Finder" и "Go" -> "Перейти к папке", затем перейдите в "Library/Frameworks". Я удалил mono.framework и фреймворки, связанные с Xamarin, потому что я считаю, что эти фреймворки Xamarin нарушены.
Затем удалил Visual Studio и переустановил его. Теперь все работает отлично!
В моем случае я получил сообщение, подобное этому: Смотрите эту картинку
Я только что прокомментировал приведенный ниже код в файле проекта (.csproj), и проблема была исправлена.
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
В моем случае я просто переименовал.csproj.user, перезапустил Visual Studio и открыл проект. Он автоматически создал еще один файл.csproj.user, и решение отлично сработало для меня.
В моем случае xxxx.pubxml.user не был загружен при попытке опубликовать приложение. Я удалил файл и перезапустил Visual Studio, затем создал новый профиль для его публикации, проблема решена и успешно опубликована.
У меня была такая же проблема в проекте Xamarin Forms. iOS-проект был недоступен, и я не смог перезагрузить его. Я искал решение, которое не нужно ничего удалять.
Ответ, который я получил из этого блога: https://dev.to/codeprototype/xamarin-form-application-failed-to-load-android-project-root-element-missing--27o0
Поэтому, не удаляя ничего, вы можете удалить файл .csproj.user (или переименовать его), чтобы Visual Studio снова его создал. Работал на меня дважды.
Странно "Отсутствует корневой элемент". также появляется, когда JDK не найден.
В моем случае проблема возникла из-за закрытия моего ПК, в то время как Visual Studio оставалась открытой, поэтому в результате файл csproj.user сохранился пустым. К счастью, у меня уже есть резервная копия, поэтому я просто скопировал весь xml из csproj.user и вставил в мой файл csproj.user затронутого проекта, чтобы он работал отлично.
Этот файл просто содержит информацию об устройстве устройства и многое другое.
Я получил эту проблему в проекте веб-API. Наконец понял, что это было в моих комментариях к методу "///". У меня есть эти комментарии для автоматического создания документации для методов API. Что-то в моих комментариях сводило с ума. Я удалил все возвраты каретки, специальные символы и т. Д. Не совсем уверен, что ему не понравилось, но это сработало.
У меня было несколько крупных сбоев в сообществе VS2015.
Удалите все файлы.csproj.user
которые были полны нулевых символов, а также эти
C:\Users\ имя_пользователя \ AppData \ Local \ Temp \
.NETFramework, Version = v4.0.AssemblyAttributes.cs.NETFramework, Version = v4.5.AssemblyAttributes.cs.NETFramework, Version = v4.5.2.AssemblyAttributes.cs
Это было легко исправить, чем я думал. Все, что я сделал, это очистил папку кеша сайта.
Удалить все из
ПРИВОДНОЕ ПИСЬМО ОС:\Users\ ИМЯ ПОЛЬЗОВАТЕЛЯ \AppData\Local\Microsoft\WebsiteCache
пример
C:\Users\Jack\AppData\Local\Microsoft\WebsiteCache
Для большего количества визуальных советов студии, пожалуйста, посетите Мой Блог
Ни одно из этих решений не решило мою проблему.
В моем случае я закончил свою работу и выключил компьютер. На следующий день я не смог собрать свой проект. Я попробовал некоторые из этих решений и понял, что все мои проекты не работают.
Чтобы это исправить, я переустанавливаю.net core Framework.
Visual Studio 2017
В моем случае Microsoft.Common.CurrentVersion.targets был поврежден. Я скопировал этот файл из другой системы, и он работал.
Но я просто решил эту проблему, перейдя в проводник управления версиями и выбрав проект проблемы, щелкнув правой кнопкой мыши и выбрав опцию Получить определенную версию в меню "Дополнительно". Затем выберите "Тип последней версии", отметьте два флажка и нажмите кнопку "Получить". Затем я обновил решение, и мой проект вернулся к жизни, и проблема ушла. Обратите внимание, что это может перезаписать ваши локальные проекты, поэтому ваши текущие изменения могут потеряться. Так что если у вас нет проблем с вашей локальной копией, вы можете попробовать это. Надеюсь, поможет
В моем случае файлы RDLC работают с файлами ресурсов (.resx), у меня была эта ошибка, потому что я не создал соответствующий файл resx для своего отчета rdlc.
Мое решение было добавить файл.resx внутри App_LocalResources таким образом:
\rep
\rep\myreport.rdlc
\rep\App_LocalResources\myreport.rdlc.resx