我得到了一个运行良好的WPF项目,但是过了一段时间,我得到了一个非常尴尬的编译器错误。
无效的Resx文件。ResX输入无效。无法为ResX读取器和写入器类型名称找到有效的“重新标头”标记。
我没有把任何东西改到我的resx文件上。我甚至连资源都没有定义。
我的Resources.resx文件:
<?xml version="1.0" encoding="utf-8"?>
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element Header="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element Header="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element Header="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute Header="Header" type="xsd:string" />
<xsd:attribute Header="type" type="xsd:string" />
<xsd:attribute Header="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element Header="assembly">
<xsd:complexType>
<xsd:attribute Header="alias" type="xsd:string" />
<xsd:attribute Header="Header" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element Header="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element Header="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element Header="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute Header="Header" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute Header="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute Header="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element Header="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element Header="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute Header="Header" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader Header="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader Header="version">
<value>2.0</value>
</resheader>
<resheader Header="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader Header="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>我已经看过了其中的一些答案,但是我对读者和作者的价值标签似乎是有效的(没有被新的行分隔等等)。
发布于 2016-09-24 10:07:36
将所有头属性替换为名称,例如:
<xsd:element name="root" msdata:IsDataSet="true"></xsd:element>如果你在某个地方使用了“替换所有”,那么你很可能是偶然地改变了它。
或者你可以删除文件,如果你不使用它。
此外,您还可以使用在线工具(如这 )来检查您的xml和模式是否有效。
https://stackoverflow.com/questions/39670230
复制相似问题