在 winform c# 中读取资源时混淆获取资源名称

本文关键字:资源 获取 读取 winform | 更新日期: 2023-09-27 18:35:35

我已将文本文件资源添加到资源文件夹中的winform C#项目中这里资源.resx的内容经过我添加

<data name="_0" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..'Resources'0.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>

然后我尝试使用此解决方案阅读该嵌入式资源的内容

如何读取嵌入的资源文本文件

这是主要程序

        var assembly = Assembly.GetExecutingAssembly();
        var resourceName = "Properties.Resources.0.txt"; 
        using (Stream stream = assembly.GetManifestResourceStream(resourceName))
        try
        {
            using (StreamReader reader = new StreamReader(stream))
            {
                string result = reader.ReadToEnd();
                Console.WriteLine(result);
            }
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }

但我在 var 阅读器中得到了 null 参数,我认为这是关于资源名称的路径,有什么想法可以解决我的问题吗?谢谢之前

在 winform c# 中读取资源时混淆获取资源名称

您必须将

项目命名空间附加到资源名称中:

var resourceName = "Properties.Resources.0.txt"; 

将其更改为:

var assembly = Assembly.GetExecutingAssembly();
var resourceName = "ProjectNamespace.Properties.Resources.0.txt";
using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream))
{
    string result = reader.ReadToEnd();
}