我正在尝试打开一个resx文件,它是我的C#项目中的资源。我需要创建一个ResXResourceSet对象。但是在运行时会抛出“路径中的非法字符”异常。这是我试图使用的代码。
var resX = new ResXResourceSet(Project.Properties.Resources.ResXFile);
ResXResourceSet类只有两个构造函数(来自流和文件名)。如何在这种情况下创建ResXResourceSet类的对象?
答案 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添加到项目中。添加>新商品>资源文件。