c# - GetManifestResourceStream() 返回 null

标签 c# winforms resources .net-4.5 embedded-resource

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

  • 程序名.Form1.foo.txt
  • 程序名.foo.txt
  • Form1.foo.txt
  • programName.Properties.Resources.resources.foo.txt

一些信息:

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

代码:

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

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

最佳答案

确保您的文件的构建操作是“嵌入式资源”。
如果您的文件位于文件夹中,则必须包括文件夹的名称。

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

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

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

关于c# - GetManifestResourceStream() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30922151/

相关文章:

c# - IE 8 的 InternetExplorer COM 对象忽略事件选项卡

c# - 获取调用窗口的窗口句柄

java - 访问 jar 中的资源(在 Netbeans 中工作,但不在命令行上工作)

C#:在密封类中模拟和测试 protected (或私有(private))方法——方法

c# - RIA 服务 WCF 超时

c# - 在 Windows 窗体中隐藏标签需要 244 毫秒

c# - 帮助 C# WinForms 应用程序的 Inno Setup 脚本

c# - VS 2010 设计器中控件对齐的逆序

ios - [椰子] :Resource Bundle not accessbile

python - 如何从resources_rc.py恢复resource.qrc文件