为什么 ResourceWriter 不生成有效的 .resx 文件?

Why doesn't ResourceWriter generate a valid .resx file?

我正在尝试从 C# 程序生成 .resx 文件。当我打开生成的文件时,我得到如下数据:

*ÎÊï¾ ‘ lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet PADPADP%†ÐÙ Ï C o n t a c t Contact Information**

这是我用来写入文件的代码:

string resPath = ConfigurationManager.AppSettings["ResourcePath"];
var wr = new ResourceWriter(resPath);
wr.AddResource("Contact", "Contact Information");
wr.Generate();
wr.Close();

你用错了class。 ResourceWriter creates a .resources file, not a .resx file. To create a .resx file, use ResXResourceWriter 改为:

using (ResXResourceWriter writer = new ResXResourceWriter(resPath))
{
    writer.AddResource(new ResXDataNode("Contact", "Contact Information"));
}

注意:要使用 ResXResourceWriter,您必须添加对 System.Windows.Forms.

的程序集引用