从嵌入式资源文件创建ResXResourceSet对象时出现问题

时间:2011-02-07 10:32:03

标签: c# .net xml resx

我正在尝试打开一个resx文件,它是我的C#项目中的资源。我需要创建一个ResXResourceSet对象。但是在运行时会抛出“路径中的非法字符”异常。这是我试图使用的代码。

var resX = new ResXResourceSet(Project.Properties.Resources.ResXFile);

ResXResourceSet类只有两个构造函数(来自流和文件名)。如何在这种情况下创建ResXResourceSet类的对象?

1 个答案:

答案 0 :(得分:2)

使用Project.Properties.Resources.ResourceManager.GetStream("ResXFile");

如果我理解正确,ResXFile中的值是一个包含ResX完整内容的字符串,而不是文件路径,这是ResXResourceSet在传递字符串时所期望的。你需要在它周围包裹一个流。

请参阅此问题以获取字符串中的流:how to generate a stream from a string?

此外,如果将资源文件设置为项目项(如主资源),则可以通过其ResourceManager访问其ResourceSet:ResXFile.ResourceManager.GetResourceSet()

您可以通过右键单击项目>将ResX添加到项目中。添加>新商品>资源文件。