阅读使用GetManifestResourceStream
问题描述:
我试图从资源读取一个二进制文件使用阅读使用GetManifestResourceStream
Stream input = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName);
,其中资源名称是一个字符串,包含资源的文件名的资源。我收到一个空对象。 我试过完全合格的路径(例如“myAssemblyName.Properties.Resources。”+ resourceName),但那也不起作用。
我错过了什么吗?
答
确保您的文件包含在项目中。 确保文件的“Build Action”设置为“Embedded Resource”。 检查名称是与
Assembly.GetExecutingAssembly().GetManifestResourceNames()
负载与
Assembly.GetExecutingAssembly().GetManifestResourceStream()
退房资源流[如何嵌入和访问资源(http://support.microsoft.com/kb/319292)看看它是否有助于解决您的问题。如果没有 - 您可以在问题中添加更多详细信息。 – 2013-04-24 16:04:32
确保为资源名称使用“NameOfNameSpace.Resources.NameOfFileInTheResource”。另外,你可以使用'Properties.Resources.yourresource'吗? – 2013-04-24 16:16:05
猜测名称的正确性可能很困难,这是Visual Studio拥有资源设计器的一个重要原因。在程序集上运行ildasm.exe,双击清单并注意'.mresource'语句。 – 2013-04-24 19:46:17