如何修复“根元素丢失”当做一个Visual Studio(VS)的build设?

如何解决“根元素缺失” 当做一个Visual Studio(VS)生成?

任何想法我应该看看我的解决scheme中的文件?

实际上,当使用“Make VS 2008”命令时,我在“Visual Build Pro”中看到这个错误信息。 这个命令在构build其他解决scheme(比如大约20个)时工作得很好,而且我不确定为什么我的错误。

任何帮助将非常感激。 🙂

我正在使用VS 2008和Visual Build Pro 6.7。

确保任何XML文件(或Visual Studio将解释为XML文件的任何文件)具有正确的XML结构 – 即一个根元素(具有任何名称,在我的示例中使用了rootElement ):

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

当物料清单出现时,你也会得到“根元素丢失”:)。 BOM =字节顺序标记。 这是一个额外的字符,当它被保存为错误的编码时被添加到文件的开头。
在使用XML文件时,有时会在Visual Studio中发生这种情况。 你可以编写代码将其从所有文件中删除,或者如果你知道它是哪个文件,你可以强制visual studio使用特定的编码(utf-8或ascii IIRC)保存它。

如果你用VS以外的编辑器打开这个文件(尝试记事本++),你会在<?之前看到两个有趣的字符。 xml声明。

为了解决这个VS,打开VS中的文件,然后根据VS的版本

  • 文件>高级保存选项>select适当的编码
  • 文件>另存为>保留文件名,单击保存button右侧的下拉箭头以select编码

在我的情况下,这是xxxxxxxxxxxx.vcxproj.user文件,导致崩溃后的问题(这是空的)。 我重命名了它,问题就消失了。

在我的情况。我正在缺less指向NuGet.Config文件的元素错误 。 当时正在看这样的事情

 <?xml version="1.0" encoding="utf-8"?> <settings> <repositoryPath>Packages</repositoryPath> </settings> 

那么我只是添加了实际包装整个XML的configuration标签。 现在为我工作得很好

 <?xml version="1.0" encoding="utf-8"?> <configuration> <settings> <repositoryPath>Packages</repositoryPath> </settings> </configuration> 

我有同样的错误。 显示错误Microsoft.Data.Entity无法加载根元素丢失。 当我从C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319中删除该文件,并再次打开我的解决scheme我的问题解决了。 一切都很好

编辑某些项目工具链设置Atmel Studio 6.1.2730 SP2时,有时会出现此错误。

在我的情况下,我尝试在configuration中select“所有configuration”来编辑“项目属性”>“工具链”>“链接器”>“常规”设置。 当我选中或取消选中一个设置时,会popup一个对话框。 但是,我发现如果我一次只编译一个构buildconfiguration,我可以进行相同的编辑; 即只select“Debug”或“Release”而不是“All Configurations”。

有趣的是,我以后能够编辑相同的链接器设置,即使select了“所有configuration”。 我不知道我的项目做了什么改变,使这成为可能。

在我的情况下,文件C:\Users\xxx\AppData\Local\PreEmptive Solutions\Dotfuscator Professional Edition\4.0\dfusrprf.xml充满了NULL。

我删了它; 它是在Dotfuscator首次启动时重新创build的,之后恢复正常。

我在运行Visual Studio 2013的时候运行了蓝屏,当我重新启动时,我打算再次运行我的项目,但是我总是这个头脑错误。 无论如何

使用Temp信息删除文件夹修复此问题 。 在我的情况下,该项目是一个Windows服务器,基本上它创build了一些TEM信息的文件夹。

该文件夹是

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

里面存在一个文件夹的项目名称+一些生成的GUI服务.ServerHostLoader_Url_u2jn0xkgjf1th0a3i2v03ft15vj4x52i

这是我删除的文件夹,现在我可以再次运行项目。

您也可以search文件。 使用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) } } } 

何我简单地解决了这个问题,去源控制资源pipe理器,并select问题项目,右键单击并select高级菜单下的获取特定版本选项。 然后selecttypes作为最新版本,并勾选两个checkbox,然后点击获取button。 然后,我刷新了解决scheme,我的项目回来生活和问题没有了。 请注意,这可能会覆盖您的本地项目,因此您当前的更改可能会丢失。 所以如果你没有任何问题,你可以试试这个。 希望能帮助到你

这比我想象的容易解决。 我所做的只是清除网站caching文件夹。

删除所有内容

驱动器的操作系统:\用户\用户名\ AppData \ Local \ Microsoft \ WebsiteCache

C:\用户\千斤顶\应用程序数据\本地\微软\ WebsiteCache

有关更多视觉工作室技巧,请访问我的博客

我在Web API项目上遇到了这个问题。 最后想通了,这是在我的“/ /”方法的意见。 我将这些注释设置为自动生成API方法的文档。 在我的评论中的东西使它变得疯狂。 我删除了所有的回车,特殊字符等,不太确定它不喜欢的东西,但它的工作。

在我的情况下,RDLC文件使用资源文件(.resx),我有这个错误,因为我没有创build我的rdlc报告通讯员resx文件。

我的解决scheme是以这种方式在App_LocalResources中添加文件.resx:

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

我有几个大规模的VS2015社区崩溃。

删除所有.csproj.user文件

其中充满了空字符,也是这些

C:\ Users \用户名\ AppData \本地的\ Temp \

.NETFramework,Version = v4.0.AssemblyAttributes.cs .NETFramework,Version = v4.5.AssemblyAttributes.cs .NETFramework,Version = v4.5.2.AssemblyAttributes.cs

在我的情况下,当我打开.csproj文件,它是空的,所以我去了我以前在git中的提交,并复制该文件的内容,并粘贴它我当前的.csproj文件。 之后,我删除了.csproj.user文件,重新加载我的项目,一切又开始工作。

在我的情况下,我收到了这样的消息: 看到这张图片

我刚才在项目文件(.csproj)中评论了下面的代码片段,问题就解决了。

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

在我的情况下,当试图发布应用程序时,xxxx.pubxml.user未被加载。 我删除了该文件并重新启动Visual Studio,然后创build一个新的configuration文件发布它,问题解决并发布成功。

嗨,我在Mac上使用Cocoa C#解决scheme有同样的问题。 (但我解决了它!)

它总是说根元素丢失,所以它不能加载我的C#项目文件。

我有2017年的Visual Studio Mac社区版。 几个小时后,我终于find了解决办法(痛苦!)。

我的解决scheme是因为与Visual Studio相关的框架是旧的或破碎的。 我发现这是因为我试图通过Cocoa创build一个新的Mac解决scheme,它说“未能保存解决scheme”。 然后,我试图创build一个Android解决scheme,它工作正常。 转到“Finder”和“Go” – >“转到文件夹”,然后转到“Library / Frameworks”。 我已经删除了与Xamarin相关的mono.framework和框架,因为我相信这些Xamarin框架已经被破坏了。

然后,卸载Visual Studio并重新安装它。 现在一切正常!

有这个问题login到旧的服务器虚拟机上的RDP时间(时钟)设置为2个小时。 (和错误的时区)在主机系统上。 纠正,一切都很好。 KISS理论.. 🙂

Interesting Posts