C# 使用GetManifestResourceStream读取资源
我正在尝试使用从资源中读取二进制文件C# 使用GetManifestResourceStream读取资源,c#,C#,我正在尝试使用从资源中读取二进制文件 Stream input = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName); 其中resourceName是一个字符串,包含资源的文件名。我得到一个空对象。 我尝试了完全限定的路径(例如“myAssemblyName.Properties.Resources.”+resourceName),但也没有成功 我遗漏了什么吗?确保项目中包含您的文件。 确保文件的“构
Stream input = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName);
其中resourceName是一个字符串,包含资源的文件名。我得到一个空对象。
我尝试了完全限定的路径(例如“myAssemblyName.Properties.Resources.”+resourceName),但也没有成功
我遗漏了什么吗?确保项目中包含您的文件。 确保文件的“构建操作”设置为“嵌入式资源”。 检查名字是什么
Assembly.GetExecutingAssembly().GetManifestResourceNames()
将资源流加载到
Assembly.GetExecutingAssembly().GetManifestResourceStream()
看看它是否有助于解决您的问题。如果没有-您可以在问题中添加更多详细信息。请确保资源名称使用“NameOfNameSpace.Resources.NameOfLeinthereSource”。另外,您是否正在使用
属性.Resources.yourresource
?猜对名称可能很困难,这也是Visual Studio拥有资源设计器的一个重要原因。在程序集上运行ildasm.exe,双击清单并注意.mresource
语句。感谢所有提示和帮助。首先,由于某些原因,资源管理器不允许我嵌入文件-持久性设置为“编译时链接”,我无法更改它,它是重影的。但同时-我用一个位图资源制作了一个小的测试应用程序,我在其中输入一个字符串,它试图从这个字符串打开一个资源流。我使用了ILDASM并找到了名称空间和名称,但它再次失败!我该怎么办?