GetManifestResourceStream() 返回 null

GetManifestResourceStream() returning null

我试图在我的应用程序的资源中嵌入一些文本文件,但是当我尝试使用 GetManifestResourceStream() 检索它时,我得到了空值。我已经尝试了所有这些名称组合:

一些信息:

命名空间是 programName,我从中调用此代码的 class 是 Form1,我尝试检索的文件名资源是 foo.txt.

代码:

var resourceName = string.Format("???.{0}", filename);
var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName);

该文件可以通过使用 Properties.Resources.foo 获得,但是当我从字符串中获取文件名时我无法使用它。

确保文件的构建操作是 "Embedded Resource"。
如果您的文件位于文件夹中,则必须包括文件夹的名称。

例如,如果我在我的 WindowsFormsApplication1 项目中创建一个文件夹 "xx" 并添加一个文件 "dictionary.txt",名称将为 WindowsFormsApplication1.xx.dictionary.txt

无论如何,只需使用它来查看您的所有资源

var files = Assembly.GetExecutingAssembly().GetManifestResourceNames();