Подтвердить что ты не робот

Как исправить "Корневой элемент отсутствует". при выполнении сборки Visual Studio (VS)?

Как исправить "Элемент Root отсутствует". при выполнении сборки Visual Studio (VS)?

Любая идея, какой файл я должен посмотреть в своем решении?

Собственно, я получаю это сообщение об ошибке внутри "Visual Build Pro" при использовании команды "Сделать VS 2008". Эта команда отлично работает при построении других решений (например, около 20), и я не совсем уверен, почему моя ошибка.

Любая помощь будет очень оценена.:)

Я использую VS 2008 и Visual Build Pro 6.7.

4b9b3361

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