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

C# 如何在C中读取资源文件#,c#,resources,windows-services,C#,Resources,Windows Services,我已将一个资源文件添加到我的项目中(C#,windows服务-帮助): 我已向资源中添加了一个文本文件: 现在我想读取测试文件,这是我尝试过的: ResourceManager rm = new ResourceManager("My.Project.Name.Resources", Assembly.GetExecutingAssembly()); 它找不到任何内容,ResourceSetscount=0 更新 正如评论中所建议的,我还尝试在下面添加资源: 项目>属性>资源 并尝试了以

我已将一个资源文件添加到我的项目中(C#,windows服务-帮助):

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

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

ResourceManager rm = new ResourceManager("My.Project.Name.Resources", Assembly.GetExecutingAssembly());
它找不到任何内容,
ResourceSets
count=0

更新

正如评论中所建议的,我还尝试在下面添加资源:

项目>属性>资源

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

ResourceManager rm = new ResourceManager("My.Project.Name.Resources", Assembly.GetExecutingAssembly());
您可以随时尝试:

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();
}

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

检查Resources.Designer.cs文件。您应该有名为stop\u words\u utf8(或您选择的文件的任何名称)的静态字符串属性。您可以这样使用它:

Resources.stop_words_utf8

它是静态字符串属性

,在这种情况下,您可以使用强类型(命名)资源。为什么不需要这样做呢?让ResourceManager构造函数的第一个参数出错是一个普遍的问题。总是喜欢使用资源设计器,它永远不会出错。“项目>属性>资源”选项卡,如果需要,请单击该链接以创建项目文件。@HoomanBahreini在某处放置了一个断点,并检查此代码
Assembly.GetExecutionGassembly().GetManifestResourceNames()
在您的情况下,
Resources.Designer.cs
应该为您的资源定义一个类,您可能可以作为
资源访问您的文本文件。直接在代码中停止\u words\u utf8
,在这种情况下,不需要手动使用ResourceManager。您只需访问
My.Project.Name.Resources
您需要深入了解
Designer.Resources
rm
中的值是多少?谢谢,所以必须先将文件添加为资源,然后我才能像上面那样阅读它?