c# - 获取文本文件资源的引用

标签 c# resources

如果我将新的文本文件添加到我的项目regexCheck.txt,它的默认构建操作是资源:

enter image description here

我知道,如果我设置复制到输出 dictory = 始终的选项,我将能够检索该文本文件的内容,然后我将能够在 workingDirectory\Macros\Header\regexCheck.txt 上找到它

我只是好奇如何能够检索该文本文件的内容,而不必将其输出到工作目录。


编辑

例如,relector 能够查看我的可执行文件的所有资源: enter image description here

我知道我可以将文件放入 resource.resx 我只是想知道如何从 exe 中提取资源

编辑2

做类似的事情:

        var _assembly = Assembly.GetExecutingAssembly();
        var resourceName = _assembly.GetManifestResourceNames()[0];
        var steam = _assembly.GetManifestResourceStream(resourceName);
        var buffer = new byte[2048];
        steam.Read(buffer, 0, buffer.Length);
        var text = System.Text.ASCIIEncoding.ASCII.GetString(buffer).Replace("\0", "");

我设法查看了文本文件的内容:

enter image description here

最佳答案

我认为您目前无法使用将文件附加到项目的方式。

另一种方法是将“资源文件”添加到项目中。 (项目 -> 添加新项目... -> 资源文件)。然后,您可以在资源文件设计器中添加文本文件(添加资源 -> 添加现有文件...)

您最终会得到一个如下所示的项目树:

Project
   |
   +-- Resources
   |      |
   |      +--  regexCheck.txt
   |
   +-- Resource.resx
   |      |
   |      +--  Resource.Designer.cs

在您的代码中,Resource.regexCheck 是一个包含文件内容的字符串。

关于c# - 获取文本文件资源的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11714124/

相关文章:

android - 您可以使用字符串资源定义 Android intent-filter 吗?

c# - 为什么这个更新只能工作一次?

c# - 从远程计算机检索进程信息和文件

C# RestSharp 阻止 302 上的请求重定向

java - getResource返回NullPointerException

android - 如何在单击 android 中的 Griditem 时更改另一个网格项目的背景

c# - ODP.Net OracleConnection.Open 冷启动很慢

c# - 将扩展方法转换为泛型方法时出现编译时错误

maven:过滤后的资源未打包到 WAR 文件中

java - Java 中 close() 的 Python 等价物是什么?