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

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

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

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

любая помощь была бы очень признательна. :)

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

23 ответов


убедитесь, что любой XML-файл (или любой файл, который будет интерпретироваться как XML-файл visual studio) имеет правильную структуру XML - то есть один корневой элемент (с любым именем, я использую rootElement в моем примере):

<?xml version="1.0"?> 
<rootElement>
 ...
</rootElement>

в моем случае это был Ремчуков.расширением vcxproj.файл пользователя, который вызывал проблему (он был пустым) после сбоя. Я переименовал его и проблема ушла.


вы также получите "корневой элемент отсутствует", когда бомба поражает :). BOM = Знак порядка байтов. Это дополнительный символ, который добавляется в начало файла, когда он сохраняется с неправильной кодировкой.
Это может иногда происходить в Visual Studio при работе с XML-файлами. Вы можете либо закодировать что-то, чтобы удалить его из всех ваших файлов, либо, если вы знаете, какой файл вы можете заставить visual studio сохранить его с определенной кодировкой (utf-8 или ascii IIRC).

Если вы откройте файл в Редакторе, отличном от VS (попробуйте notepad++), вы увидите два забавных символа перед XML-декларация.

чтобы исправить это в VS, откройте файл в VS, а затем в зависимости от версии VS

  • "файл" > "Дополнительные параметры сохранения" > выбрать соответствующую кодировку
  • Файл > Сохранить как > сохранить имя файла, щелкните стрелку вниз справа от кнопки "Сохранить", чтобы выбрать кодировку

в моем случае.Я получал ошибка отсутствует элемент указывая на . В то время он выглядел примерно так.--7-->

<?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>

Я получил ту же ошибку. показывая ошибка Microsoft.Данные.Entity не удалось загрузить корневой элемент отсутствует. Когда я удаляю этот файл из C:\Windows\Microsoft.NET\Framework\v4.0.30319 и снова откройте мое решение моя проблема была решена. Все хорошо


В моем случае, когда я открыл .csproj файл, он был пуст, поэтому я пошел к моему предыдущему фиксации в git и скопировал содержимое этого файла и вставил его мой текущий . После чего я удалил .csproj.user файл, перезагрузил мой проект,и все снова начало работать.


эта ошибка может иногда возникать при редактировании некоторых параметров цепочки инструментов проекта Atmel Studio 6.1.2730 SP2.

в моем случае я попытался отредактировать свойства проекта > Toolchain > Linker > Общие настройки с "всеми конфигурациями", выбранными в конфигурации. Когда я проверил или снял флажок, появилось диалоговое окно с ошибкой. Однако я обнаружил, что могу сделать те же изменения, если я сделал их только для одной конфигурации сборки за раз; т. е. только с "Debug" или "Release" выбрано вместо "все конфигурации".

интересно, что позже я смог редактировать те же настройки компоновщика даже с выбранными "всеми конфигурациями". Я не знаю, что изменилось в моем проекте, что сделало это возможным.


в моем случае, файл C:\Users\xxx\AppData\Local\PreEmptive Solutions\Dotfuscator Professional Edition.0\dfusrprf.xml был полон NULL.

Я удалил его; он был воссоздан при первом запуске программы Dotfuscator, и после этого нормальность была восстановлена.


У меня был синий экран при запуске Visual Studio 2013, при перезапуске я намеревался запустить снова свой проект, но у меня всегда была эта ошибка headius. во всяком случае

удаление папок с информацией Temp исправить эту проблему. в моем случае проект был сервером Windows, и в основном он создает папку с некоторой информацией Tem.

папка

C:\Users\User_NAME\AppData\Local\NAme_OF_THeProject

внутри существует папка с именем проекта+ некоторые созданные ГРАФИЧЕСКИЙ ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ Услуга.ServerHostLoader_Url_u2jn0xkgjf1th0a3i2v03ft15vj4x52i

Это папка, которую я удалил, и теперь я могу снова запустить проект.


вы также можете выполнить поиск файла. Перейдите в каталог проекта с помощью 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)
            }
        }
}

в моем случае я обновился до VS2017 и хотел построить все проекты с MSBuild 4 с моим скриптом сборки (который использовал MSBuild 3.5, когда мы использовали VS2015). Это обновление MSBuild оказалось прекрасным для настольных приложений Windows, но для Windows CE с compact framework дало бы мне эту запутанную ошибку. Возврат к MSBuild 3.5 для Windows CE projects исправил проблему для меня.

У меня была бомба .кстати, файлы csproj и удалили их для всех проекты в решении, которое не будет строить, но это не помогло.


Ho я просто решил эту проблему, перейдя в проводник управления версиями и выбрав проект проблемы, щелкните правой кнопкой мыши и выберите опцию получить конкретную версию в расширенном меню. А затем выберите тип в качестве последней версии и отметьте следующие два флажка и нажмите кнопку Get. Затем я обновил решение, и мой проект вернулся к жизни, и проблема исчезла. Обратите внимание, что это может перезаписать ваши локальные проекты, так что ваши текущие изменения могут потерять. Так что если у вас нет никаких проблем с локальную копию, тогда вы можете попробовать это. Надеюсь, это поможет


Это было легко исправить, чем я думал. Я всего лишь очистить папку кэша сайт.

удалить все от

буква диска ОС:\Users\USER NAME\AppData\Local\Microsoft\WebsiteCache

пример

C:\Users\Jack\AppData\Local\Microsoft\WebsiteCache

для получения дополнительных советов visual studio посетите Мой Блог


Я получил эту проблему в проекте веб-API. Наконец выяснил, что это было в моих комментариях к методу"///". У меня есть эти комментарии, установленные для автоматического создания документации для методов API. Что-то в моих комментариях заставило его сойти с ума. Я удалил все возвраты каретки, специальные символы и т. д. Не совсем уверен, что ему не понравилось, но это сработало.


в моем случае файлы RDLC работают с файлами ресурсов (.resx), у меня была эта ошибка, потому что я не создал соответствующий файл resx для моего отчета rdlc.

моим решением было добавить файл .resx внутри App_LocalResources таким образом:

\rep
\rep\myreport.rdlc
\rep\App_LocalResources\myreport.rdlc.resx

У меня было несколько массовых сбоев сообщества VS2015.

удалить все .csproj файл.пользовательские файлы

которые были полны нулевых символов, а также Эти

C:\Users\UserName\AppData\Local\Temp\

.NETFramework, версия=v4.0.AssemblyAttributes.цезий .NETFramework, версия=v4.5.AssemblyAttributes.цезий .NETFramework, версия=v4.5.2.AssemblyAttributes.cs


в моем случае я получил такое сообщение : смотрите эту картинку

Я просто прокомментировал обрезанный код ниже в файле проекта (.csproj), и проблема была исправлена.

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

в моем случае xxxx.pubxml.пользователь не был загружен при попытке опубликовать приложение. Я удалил файл и перезапустил Visual studio, затем создал новый профиль для его публикации, проблема решена и опубликована успешно.


в моем случае, я получил эту ошибку из-за пустой . Это привело к сбою диспетчера пакетов NUGET и отображению ошибки отсутствует корневой элемент. Решение состояло в том, чтобы скопировать элементы из другого непустого файла, а затем изменить его в соответствии с потребностями.

пример (пакеты.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>

в моем случае я использовал vs 2010 с crystal report. Innerexception показал корневой элемент отсутствует ошибка. Перейти в каталог как C:\Users\sam\AppData\Local\dssms\dssms.vshost.exe_Url_uy5is55gioxym5avqidulehrfjbdsn13\1.0.0.0 который приведен в innermessage и убедитесь, что пользователь.config-это правильный XML (мой был пуст по какой-то причине).


эта ошибка вызвана поврежденным файлом proj. Visual Studio allway имеет файл проекта резервного копирования в определенной папке. Пожалуйста, перейдите к: C:\Users\\Documents\Visual Studio \Файлы Резервных Копий\ Вы можете увидеть 2 файла так же, как: Оригинал-май-18-2018-1209PM..csproj файл Восстановлено-май-18-2018-1209PM..csproj файл

вам нужно только скопировать файл: оригинал-может-18-2018-1209PM..csproj файл И переименовать как .csproj & overide в корневой папке проекта. Проблема решена!


Эй, у меня такая же проблема на Mac, работающем над решением Cocoa c#. (но я решил это !)

Он всегда говорит, что корневой элемент отсутствует, поэтому он не может загрузить мой файл проекта c#.

У меня есть 2017 Visual Studio Mac Community Edition. Мне, наконец, удалось найти решение через несколько часов (больно!).

мое решение связано с тем, что фреймворки, связанные с Visual Studio, старые или сломанные. Я нашел это, потому что я попытался создать новое решение Mac с помощью Cocoa, и он сказал:"не удалось сохранить решение". Затем я попытался создать решение для Android и она работает нормально. Перейдите в " Finder "и" Go "- > "перейти в папку", затем перейдите в"Библиотека/фреймворки". Я удалил mono.рамки и рамки, связанные с Xamarin, потому что я считаю, что эти рамки Xamarin сломаны.

затем удалил Visual Studio и переустановил его. Теперь все работает нормально!


была эта проблема входа в RDP на старом сервере VM fount время (часы) было установлено 2 часа. (и неправильный часовой пояс) в хост-системе. исправил и все было хорошо. Теория поцелуев.. :)