如果我将新的文本文件添加到我的项目regexCheck.txt
,它的默认构建操作是资源:
我知道,如果我设置复制到输出 dictory = 始终的选项,我将能够检索该文本文件的内容,然后我将能够在 workingDirectory\Macros\Header\regexCheck.txt 上找到它
我只是好奇如何能够检索该文本文件的内容,而不必将其输出到工作目录。
编辑
例如,relector 能够查看我的可执行文件的所有资源:
我知道我可以将文件放入 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", "");
我设法查看了文本文件的内容:
最佳答案
我认为您目前无法使用将文件附加到项目的方式。
另一种方法是将“资源文件”添加到项目中。 (项目 -> 添加新项目... -> 资源文件)。然后,您可以在资源文件设计器中添加文本文件(添加资源 -> 添加现有文件...)
您最终会得到一个如下所示的项目树:
Project
|
+-- Resources
| |
| +-- regexCheck.txt
|
+-- Resource.resx
| |
| +-- Resource.Designer.cs
在您的代码中,Resource.regexCheck
是一个包含文件内容的字符串。
关于c# - 获取文本文件资源的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11714124/