Как исправить "Корневой элемент отсутствует". при выполнении сборки 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 был поврежден. Я скопировал этот файл из другой системы, и он работал.