获取资源为byte [] C#

时间:2015-09-15 22:06:09

标签: c# .net bytearray embedded-resource

我正在尝试将资源中的图像作为byte[]插入到数据库中。资源位于Resources / CatSeal,是一个名为index.jpg的文件。

我看过这个question,但我仍然遇到麻烦。我在指示的行上得到NullReferenceException。我的命名空间是DatabaseConnectionTests。根据这个documentation,在“访问资源”下,它应该遵循这种格式,我相信我正在做的:

  

MyNameSpace.MyImage.bmp

这是我的代码:

Stream sourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("DatabaseConnectionTests.index.jpg");
using (var memoryStream = new MemoryStream())
{
    sourceStream.CopyTo(memoryStream); // NullReferenceException here
    seal.SealerImage = memoryStream.ToArray();
}
sealDatabaseOperations.Insert(seal);

如何解决此问题,以便将资源图片加载到byte[]?提前谢谢。

1 个答案:

答案 0 :(得分:2)

看起来没有找到你的资源。

尝试:" DatabaseConnectionTests.Resources.index.jpg"

在同一个程序集的类中设置断点并对其进行评估:

sys.dm_fts_parser

这将列出该程序集的所有资源名称。