在运行时从resx文件中读取

本文关键字:读取 文件 resx 运行时 | 更新日期: 2023-09-27 18:12:36

我有一个字符串列表,我保留了一个.resx文件,我想在运行时使用它来填充列表。我打算用ResXResourceReader。我不确定我的资源文件的文件路径是什么,但按照这里的指示,一个异常抛出,说它找不到与我选择的构建目标对应的bin目录中的.resx文件。我的资源文件是否在运行时可以访问的其他地方,或者我是否需要更改此资源文件上的构建操作,以便它出现在我可以在运行时到达的地方?提前感谢!

在运行时从resx文件中读取

在源代码资源管理器中右键单击文件并选择属性。有一个名为"复制到输出目录"的设置,它通常默认不复制。将其更改为copy always或copy if newer

顺便说一句,我认为你没有按预期使用resx。我相信更多的是用作编译时资源,您可以在源代码中以静态方式访问文件中的值。相反,如果你想要一个额外的、更动态的资源文件,你应该只添加一个平面文件到项目(用你喜欢的格式的数据),并将copy设置为输出目录以复制更新的文件。

编辑:在阅读了评论之后,我想重申这是对resx的滥用,而不是它的预期用途。我强烈推荐使用第二段中提供的建议(个人而言,我会使用json文本文件并使用json.net的通用反序列化方法将其解析为对象),第一点适用于所有类型的文件,并且只是一种通过Visual Studio的GUI与构建脚本(在本例中为csproj文件)交互的方式。