C# WPF:无效的Resx文件。ResX输入无效
我得到了一个运行良好的WPF项目,但过了一段时间,我得到了一个非常尴尬的编译器错误 无效的Resx文件。ResX输入无效。找不到ResX读写器类型名称的有效“resheader”标记 我没有对我的resx文件做任何更改。我甚至没有定义资源 My Resources.resx文件:C# WPF:无效的Resx文件。ResX输入无效,c#,wpf,resources,C#,Wpf,Resources,我得到了一个运行良好的WPF项目,但过了一段时间,我得到了一个非常尴尬的编译器错误 无效的Resx文件。ResX输入无效。找不到ResX读写器类型名称的有效“resheader”标记 我没有对我的resx文件做任何更改。我甚至没有定义资源 My Resources.resx文件: <?xml version="1.0" encoding="utf-8"?> <root> <xsd:schema id="root" xmlns="" xmlns:xsd="http
<?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>
text/microsoft resx
2
System.Resources.ResXResourceReader,System.Windows.Forms,版本=2.0.0.0,区域性=neutral,PublicKeyToken=b77a5c561934e089
System.Resources.ResXResourceWriter,System.Windows.Forms,版本=2.0.0.0,区域性=neutral,PublicKeyToken=b77a5c561934e089
我已经在SO中查看了一些答案,但我的读写器值标签似乎有效(没有用新行分隔等)。用名称替换所有标题属性,例如:
如果您在某个地方使用了“全部替换”,则可能是意外地更改了它或者,如果不使用该文件,您也可以将其删除
此外,您还可以随时使用联机工具,例如检查xml和模式是否有效。在我的例子中,使用“查找+替换”将“文件名”转换为“名称”修复了此问题。不知道它为什么会起作用,但现在似乎没事了。