如何在C#中读取资源文件

时间:2019-05-29 05:44:30

标签: c# resources windows-services

我已将资源文件添加到我的项目(C#,Windows服务-TopShelp):

enter image description here

我已经在资源中添加了一个文本文件:

enter image description here

现在我想读取测试文件,这是我尝试过的:

ResourceManager rm = new ResourceManager("My.Project.Name.Resources", Assembly.GetExecutingAssembly());

找不到任何内容,ResourceSets计数= 0。

更新

如评论中所建议,我还尝试在以下位置添加资源:

项目>属性>资源

enter image description here

并尝试了以下代码,但未找到任何内容:

ResourceManager rm = new ResourceManager("My.Project.Name.Resources", Assembly.GetExecutingAssembly());

2 个答案:

答案 0 :(得分:1)

您可以随时尝试:

var assembly = Assembly.GetExecutingAssembly();
var resourceName = "MyCompany.MyProduct.MyFile.txt";

using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream))
{
    string result = reader.ReadToEnd();
}

通过Assembly.GetManifestResourceNames方法检查文件是否存在。

答案 1 :(得分:1)

检查您的Resources.Designer.cs文件。您应该有一个名为stop_words_utf8的静态字符串属性(或所选文件的任何名称)。您可以这样使用它:

Resources.stop_words_utf8

这是静态字符串属性