在我的项目中,我创建了一个资源文件,向其中添加了图像资源并将“构建操作”设置为“嵌入资源”,但是当我删除原始文件时,它也会从资源中删除(显示为丢失)。此外,Resources.resx 的大小为 7 KB,尽管图像超过 2 MB,这对于真正的嵌入式资源来说当然是不可能的。谁知道如何将该图像打包到 .resx 中? (抱歉,如果我的问题重复,但我已经在互联网上搜索但没有找到。)
您根本不需要处理.resx。当您使用“构建操作”“嵌入资源”时,构建过程实际上会将您的文件嵌入到程序集的可执行模块中。
直接检索文件内容的最通用、最方便的方法是使用
System.Reflection.Assembly.GetManifestResourceNames
与 System.Reflection.Assembly.GetManifestResourceStream
结合使用。
有关更多详细信息,请参阅我最近的答案以及源代码示例,this 和 this one。在第一个答案中,您还可以找到有关该主题的一篇内容丰富的文章的参考,而在第二个答案中,您还可以找到有关访问不同程序集的更多信息。