首页 > 解决方案 > C# 从资源而不是本地读取文本文件

问题描述

我在这里尝试了多种解决方案,但没有一个我可以开始工作。我要做的就是从我的资源文件夹而不是实际的本地文件夹中读取一个文本文件。

文件名:TextFile.txt

有效的“本地文件”代码:

string[] spaces = File.ReadAllLines("C:\\Users\\a\\source\\repos\\a\\bin\\Debug\\TextFile.txt");

当前代码:

        var assembly = Assembly.GetExecutingAssembly();
        var resourceName = "TextFile.txt";

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

        string[] spaces = File.ReadAllLines(resourceName);

但我收到以下错误:

System.ArgumentNullException: '值不能为空。参数名称:流'

在这条线上:

using (StreamReader reader = new StreamReader(stream))

EDIT1根据链接尝试了这个:

        var assembly = Assembly.GetExecutingAssembly();
        var resourceName = "programname.TextFile.txt";

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

        string[] spaces = File.ReadAllLines(resourceName);

同样的错误

标签: c#visual-studioembedded-resource

解决方案


推荐阅读