Как исправить "Корневой элемент отсутствует". при выполнении сборки Visual Studio (VS)?
Как исправить "Элемент Root отсутствует". при выполнении сборки Visual Studio (VS)?
Любая идея, какой файл я должен посмотреть в своем решении?
Собственно, я получаю это сообщение об ошибке внутри "Visual Build Pro" при использовании команды "Сделать VS 2008". Эта команда отлично работает при построении других решений (например, около 20), и я не совсем уверен, почему моя ошибка.
Любая помощь будет очень оценена.:)
Я использую VS 2008 и Visual Build Pro 6.7.
Ответы
Ответ 1
Убедитесь, что любой файл XML (или любой файл, который будет интерпретироваться как XML файл визуальной студией) имеет правильную структуру XML, то есть один корневой элемент (с любым именем, я использую rootElement
в моем примере ):
<?xml version="1.0"?>
<rootElement>
...
</rootElement>
Ответ 2
В моем случае это был файл xxxxxxxxxxxx.vcxproj.user, который вызывал проблему (она была пустой) после сбоя. Я переименовал его, и проблема исчезла.
Ответ 3
Вы также получите "root-элемент отсутствует", когда BOM поражает:). BOM = знак порядка байтов. Это дополнительный символ, который добавляется к началу файла, когда он сохраняется с неправильной кодировкой.
Иногда это может происходить в Visual Studio при работе с файлами XML. Вы можете либо закодировать что-нибудь, чтобы удалить его из всех ваших файлов, либо если вы знаете, какой файл вы можете заставить визуальную студию сохранить его с помощью определенной кодировки (utf-8 или ascii IIRC).
Если вы откроете файл в редакторе, отличном от VS (попробуйте notepad ++), вы увидите два забавных символа перед <? xml.
Чтобы исправить это в VS, откройте файл в VS, а затем в зависимости от версии VS
- Файл > Дополнительные параметры сохранения > выберите подходящую кодировку
- Файл > Сохранить как > сохранить имя файла, щелкните стрелку раскрывающегося списка в правой части кнопки сохранения, чтобы выбрать кодировку
Ответ 4
В моем случае. Я получал отсутствующую ошибку элемента, указывающую на файл 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>
Ответ 5
Эта ошибка вызвана повреждением файла Proj.
Visual Studio всегда имеет резервный файл проекта в определенной папке.
Пожалуйста, перейдите к:
C:\Users\<Your user>\Documents\Visual Studio <Vs version>\Backup Files\<your project>
Вы должны увидеть 2 файла:
Original-May-18-2018-1209PM.<your project>.csproj
Recovered-May-18-2018-1209PM.<your project>.csproj
Вам нужно только скопировать файл:
Original-May-18-2018-1209PM.<your project>.csproj
И переименуйте как
<your project>.csproj
и переопределить в корневой папке проекта.
Проблема решена!
Ответ 6
У меня такая же ошибка. показывая ошибку Microsoft.Data.Entity не удалось загрузить корневой элемент. Когда я удаляю этот файл из C:\Windows\Microsoft.NET\Framework\v4.0.30319 и снова открываю свое решение, моя проблема была решена. Все woks fine
Ответ 7
В моем случае, когда я открыл файл .csproj
, он был пустым, поэтому я перешел к предыдущей фиксации в git и скопировал содержимое этого файла и вставил его в текущий текущий файл .csproj
. После чего я удалил файл .csproj.user
, перезагрузил мой проект, и все снова заработало.
Ответ 8
В моем случае файл C:\Users\xxx\AppData\Local\PreEmptive Solutions\Dotfuscator Professional Edition\4.0\dfusrprf.xml
был заполнен NULL.
Я удалил его; он был воссоздан при первом запуске Dotfuscator, после чего нормальность была восстановлена.
Ответ 9
Вы также можете выполнить поиск файла. Перейдите в каталог проекта с помощью 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)
}
}
}
Ответ 10
Эта ошибка может возникать при редактировании некоторых параметров Toolchain Project Atmel Studio 6.1.2730 SP2.
В моем случае я попытался изменить "Свойства проекта" > "Инструментарий" > "Коннектор" > "Общие настройки" с "Все конфигурации", выбранные в конфигурации. Когда я проверил или снял флажок, появится диалог с ошибкой. Тем не менее, я обнаружил, что могу сделать те же изменения, если я сделал их только с одной конфигурацией сборки за раз; т.е. вместо "Все конфигурации" выбраны только "Отладка" или "Выпуск".
Интересно, что позже я смог отредактировать те же настройки компоновщика, даже если выбрано "All Configurations". Я не знаю, что изменилось в моем проекте, что сделало это возможным.
Ответ 11
У меня был Blue Screen во время работы Visual Studio 2013, когда я перезапустил, я намеревался снова запустить свой проект, но у меня всегда была эта ошибка Headius.
в любом случае
Удаление папок с информацией о Temp. Устраните эту проблему.
в моем случае проект был Windows Server, и в основном он создает папку с некоторой информацией о Tem.
папка была
C:\Users\User_NAME\AppData\Local\NAme_OF_THeProject
внутри Exist a Folder с именем проекта + некоторый сгенерированный графический интерфейс
Service.ServerHostLoader_Url_u2jn0xkgjf1th0a3i2v03ft15vj4x52i
это папка, которую я удалил, и теперь я могу снова запустить проект.
Ответ 12
В моем случае я обновился до VS2017 и хотел собрать все проекты с MSBuild 4 с помощью моего скрипта сборки (который использовал MSBuild 3.5, когда мы использовали VS2015). То, что обновление MSBuild выглядело хорошо для настольных приложений Windows, но для Windows CE с компактным фреймворком дало бы мне эту запутанную ошибку. Возврат к MSBuild 3.5 для проектов Windows CE исправил проблему для меня.
Кстати, у меня была спецификация в файлах .csproj, и я удалил их для всех проектов в решении, которое не будет создано, но это не поможет.
Ответ 13
В моем случае я получил такое сообщение:
Посмотрите это изображение
Я просто прокомментировал сокращенный код ниже в файле проекта (.csproj), и проблема была исправлена.
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
Ответ 14
В моем случае xxxx.pubxml.user не был загружен при попытке опубликовать приложение. Я удалил файл и перезапустил Visual Studio, а затем создал новый профиль для публикации, проблема решена и успешно опубликована.
Ответ 15
Эй, у меня такая же проблема на Mac, работающая над решением Cocoa С#.
(Но я решил это!)
Он всегда говорит, что отсутствует корневой элемент, поэтому он не может загрузить файл проекта С#.
У меня есть версия Visual Studio Mac OS 2017.
Наконец-то мне удалось найти решение через несколько часов (болезненно!).
Мое решение связано с тем, что фреймворки, связанные с Visual Studio, являются старыми или сломанными.
Я нашел это, потому что я попытался создать новое решение для Mac с помощью Cocoa, и он сказал, что "не удалось сохранить решение". Затем я попытался создать решение для Android, и он работает нормально.
Перейдите в "Finder" и "Go" → "Go to a Folder", затем перейдите в "Library/Frameworks". Я удалил mono.framework и рамки, связанные с Xamarin, потому что я считаю, что эти рамки Xamarin нарушены.
Затем удалите Visual Studio и переустановите его.
Теперь все работает нормально!
Ответ 16
У меня была эта проблема при запуске VS 2017, при сборке я получал сообщение об ошибке "отсутствует корневой элемент". Для меня это решило в разделе Инструменты> Диспетчер пакетов Nuget> Настройки диспетчера пакетов> Общие> Очистить все кэши Nuget. После этого я снова запустил сборку, и она была исправлена.
Ответ 17
В форме проекта xamarin. я удалил
.VS Project folder.
ProjectName.Android.csProj.User
ProjectName.Android.csProj.bak
Ответ 18
Хо, я просто решил эту проблему, перейдя в проводник управления версиями и выбрал проект проблемы, щелкнул правой кнопкой мыши и выбрал опцию Get Specific Version в меню Advanced. А затем выберите "Тип как последняя версия" и отметьте следующие два флажка и нажмите кнопку "Получить". Затем я обновил решение, и мой проект вернулся к жизни и проблема исчезла. Обратите внимание, что это может перезаписать ваши локальные проекты, чтобы ваши текущие изменения могли потеряться. Поэтому, если у вас нет проблем с вашей локальной копией, вы можете попробовать это. Надеюсь, что это поможет.
Ответ 19
Это было легко исправить, чем я думал. Все, что я сделал, - это очистить папку кэша веб-сайта.
Удалить все из
ПИСЬМО ПРИВОДА ОС:\Пользователи\ИМЯ ПОЛЬЗОВАТЕЛЯ \AppData\Local\Microsoft\WebsiteCache
Пример
C:\Users\Jack\AppData\Local\Microsoft\WebsiteCache
Для получения дополнительных советов по визуальной визуализации посетите Мой блог
Ответ 20
Я получил эту проблему в проекте веб-API. Наконец выяснилось, что это было в комментариях метода "///". У меня есть эти комментарии для автоматической генерации документации для методов API. Что-то в моих комментариях сошло с ума. Я удалил все возвраты каретки, специальные символы и т.д. Не совсем уверен, какая вещь ему не понравилась, но она сработала.
Ответ 21
В моем случае файлы RDLC работают с файлами ресурсов (.resx), у меня была эта ошибка, потому что я не создал соответствующий файл resx для моего отчета rdlc.
Мое решение было добавить файл .resx внутри App_LocalResources таким образом:
\rep
\rep\myreport.rdlc
\rep\App_LocalResources\myreport.rdlc.resx
Ответ 22
У меня было несколько массивных сбоев сообщества 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
Ответ 23
В моем случае я получил эту ошибку из-за пустого файла packages.config
. Это привело к сбою диспетчера пакетов NUGET и отображению ошибки Корневой элемент отсутствует. Решением было скопировать элементы из другого непустого файла, а затем изменить его в соответствии с потребностями.
Пример (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>
Ответ 24
В моем случае я использовал против 2010 с Crystal Report. Не исключение выявило, что в корневом элементе отсутствует ошибка. Перейдите в каталог, например, C:\Users\sam\AppData\Local\dssms\dssms.vshost.exe_Url_uy5is55gioxym5avqidulehrfjbdsn13\1.0.0.0, который указан во внутреннем сообщении, и убедитесь, что user.config - это правильный XML (мой файл по какой-то причине пуст).
Ответ 25
Удаление файла .user именно то, что решило проблему для меня. Удар молнии возле офиса выключил мой компьютер и повредил мой файл .user, и проект не загрузился. Я открыл файл в Notepad++, и "пробелы" оказались [NULL] символами. Удалил файл .user и файл загружен!
источник https://forums.asp.net/t/1491251.aspx?Can+t+load+project+because+root+element+is+missing+
Ответ 26
У меня была такая же проблема в проекте Xamarin Forms. iOS-проект был недоступен, и я не смог перезагрузить его. Я искал решение, которое не нужно ничего удалять.
Ответ, который я получил из этого блога: https://dev.to/codeprototype/xamarin-form-application-failed-to-load-android-project-root-element-missing--27o0
Поэтому, не удаляя ничего, вы можете удалить файл .csproj.user (или переименовать его), чтобы Visual Studio снова его создал. Работал на меня дважды.
Ответ 27
В моем случае проблема возникла из-за закрытия моего ПК, в то время как Visual Studio оставалась открытой, поэтому в результате файл csproj.user сохранился пустым. К счастью, у меня уже есть резервная копия, поэтому я просто скопировал весь xml из csproj.user и вставил в мой файл csproj.user затронутого проекта, чтобы он работал отлично.
Этот файл просто содержит информацию об устройстве устройства и многое другое.
Ответ 28
Ни одно из этих решений не решило мою проблему.
В моем случае я закончил свою работу и выключил компьютер. На следующий день я не смог собрать свой проект. Я попробовал некоторые из этих решений и понял, что все мои проекты не работают.
Чтобы это исправить, я переустанавливаю .net core Framework.
Visual Studio 2017
Ответ 29
В моем случае я просто переименовал .csproj.user, перезапустил Visual Studio и открыл проект. Он автоматически создал еще один файл .csproj.user, и решение отлично сработало для меня.
Ответ 30
В моем случае Microsoft.Common.CurrentVersion.targets был поврежден. Я скопировал этот файл из другой системы, и он работал.