日期:2014-05-20  浏览次数:21041 次

(100分求解)通过GetManifestResourceStream方法加载资源文件的问题
我在程序集Imagestream中添加了一个文件夹picture1,picture1中添加了一个图片1.jpg,我想通过以下方法获取该图片,但出错,代码如下
      //加载图片
                        this.pictureBox1.Image   =   Image.FromStream(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream( "Imagestream.picture1.1.jpg "));
但程序运行后出现错误,提示如下:
  “   null值”对于“stream”无效。
请问是何缘故?、

------解决方案--------------------
应该是这个名称Imagestream.picture1.1.jpg不对,应该还要namespace

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------
将GetExecutingAssembly改成GetEntryAssembly
------解决方案--------------------
这里直接用( "picture1.1.jpg ")呢
------解决方案--------------------
this.pictureBox1.Image = Image.FromStream(System.Reflection.Assembly.GetEntryAssembly().GetManifestResourceStream( "你的工程项目名称.picture1.1.jpg "));

应该是你的工程项目名称.picture1.1.jpg 不是你的程序集名称.picture1.1.jpg
------解决方案--------------------
给你个参考:
public static object GetObject(string KeyName)
{
string text = Assembly.GetExecutingAssembly().GetManifestResourceNames()[0];
ResourceManager manager = new ResourceManager(text.Substring(0, text.LastIndexOf( ". ")), Assembly.GetExecutingAssembly());
object obj2 = manager.GetObject(KeyName);
manager.ReleaseAllResources();
return obj2;
}


------解决方案--------------------
你先取得所有的资源名字弹出来看看是不是写错了
代码没问题估计就是没有Imagestream.picture1.1.jpg这个东西
------解决方案--------------------
( "Imagestream.picture1.1.jpg "));
或者命名空间没加把?
------解决方案--------------------
项目名.文件夹名.文件名
------解决方案--------------------
图片的BuildAction是嵌入资源吗?
------解决方案--------------------
图片必须设置为嵌入资源,且要用命名空间引用 项目名.文件夹名.文件名