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

问题描述 投票:0回答:3

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

我已将文本文件添加到资源中:

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

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

什么也没找到,

ResourceSets
计数 = 0。

更新

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

项目 > 属性 > 资源

并尝试了以下代码,但没有找到任何东西:

ResourceManager rm = new ResourceManager("My.Project.Name.Resources", Assembly.GetExecutingAssembly());
c# resources windows-services
3个回答
3
投票

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

Resources.stop_words_utf8

它是静态字符串属性


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
方法检查您的文件是否存在。


0
投票

我们甚至不需要这样做,将资源添加到您的项目并编写以下代码,因为它已经是文本文件,您不需要使用流阅读器。

文件名 = AtomsData.txt

var 数据 = Resources.AtomsData;

© www.soinside.com 2019 - 2024. All rights reserved.