值不能为空。参数名: stream 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentNullException: 值不能为空。参数名: stream源错误: 
行 76:             catch
行 77:             {
行 78:                throw;
行 79:             }
行 80:  if (reader != null)
 
读的是一个txt文件,编码是gb2312以下是代码。。救命啊。。public static string[] GetSource(string nameSpace)
        {
            string[] strArray = null;
            StreamReader reader=null;
            try
            {  
reader = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream(nameSpace), Sit.CurrentEncoding);
}
            catch
            {
               throw;
            }
if (reader != null)
{
string str = reader.ReadToEnd();
reader.Close();
strArray = Sit.Split(FilteComment(str.Replace("\r\n|||", "|||").Replace("\r\n||", "||")), splitStr);
}
           
            return strArray;
        }

解决方案 »

  1.   

    你调试时reader 是否为空?FilteComment 你这个里面是怎么写的
      

  2.   

    Assembly.GetExecutingAssembly().GetManifestResourceStream(nameSpace) 为空了
      

  3.   

    找了好久了。如wuxing2006所说。Assembly.GetExecutingAssembly().GetManifestResourceStream(nameSpace) 
    得到的是空啊。。我把完全路径写上就可以。但是以后要部署。该如何拿这个文件路径呢。如果用mappath的话。只能拿到启动项目的那个路径。。namespace的文件是放在另一个项目中的。不知怎么写这个程序呢?
      

  4.   

    还有问题啊。。
    private void InitializeComponent()
            {
    this.dataGrid.ItemDataBound += new DataGridItemEventHandler(this.dataGrid_ItemDataBound);
                base.Load += new EventHandler(this.Page_Load);
            }
    private void dataGrid_ItemDataBound(object sender, DataGridItemEventArgs e)
            {
                if ((e.Item.ItemType == ListItemType.AlternatingItem) || (e.Item.ItemType == ListItemType.Item))
                {
                    DataRowView dataItem = (DataRowView) e.Item.DataItem;
                    string str = "";
                    if (this.UserMonth == 0)
                    {
                        if (this.UserYear == 0)
                        {
                            str = dataItem["Year"].ToString() + "年";
                        }
                        else
                        {
                            str = dataItem["Month"].ToString() + "月";
                        }
                    }
                    else
                    {
                        str = dataItem["Day"].ToString() + "日";
                    }
                    float num = Convert.ToInt32(dataItem["Count"]);
                    float num2 = num;
                    num2 = Convert.ToSingle(dataItem["count"]);
                    e.Item.Cells[0].Text = str;
                    Image image = (Image) e.Item.Cells[1].FindControl("img");
                    if (image != null)
                    {
                        image.Width = Convert.ToInt32((float) (num2 * this.percent)) + 3;
                    }
                    LiteralControl child = new LiteralControl();
                    child.Text = num.ToString();
                    child.Text = "(" + num + ")";
                    e.Item.Cells[1].Controls.Add(child);
                }
            }
    未将对象引用设置到对象的实例。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 
    行 193:        private void InitializeComponent()
    行 194:        {
    行 195: this.dataGrid.ItemDataBound += new DataGridItemEventHandler(this.dataGrid_ItemDataBound);
    行 196:            base.Load += new EventHandler(this.Page_Load);
    行 197:        }
     
      

  5.   

    还有一个问题--------------------------------------------------------------------------------c:\inetpub\wwwroot\JiSuShop\bin/JiSuShop.Web.dll 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IO.FileNotFoundException: c:\inetpub\wwwroot\JiSuShop\bin/JiSuShop.Web.dll源错误: 
    行 24:         {
    行 25:             this.InitializeComponent();
    行 26:             base.OnInit(e);
    行 27:         }
    行 28: 
     
    执行到OnInit(e)就会报错。。但是这个项目里没有JiSuShop.Web.dll这个程序集啊。该怎么弄啊。。
      

  6.   

    没人理啊。还有问题没解决呢。namespace JiSuShop.Skin.Beautiful
    {
    using System;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls; /// <summary>
    /// AGood 的摘要说明。
    /// </summary>
    public class AGood : System.Web.UI.UserControl
    {这样命名空间包括引用。是不是会引用不了啊?还是一样能引用到呢?
      

  7.   

    我把完全路径写上就可以。但是以后要部署。该如何拿这个文件路径呢。
    写在app.config里,用configionManage来读取
      

  8.   

    回楼上的。config里写的是什么路径啊?相对路径?
    几个问题。。怎么都没人回拉。
      

  9.   


      <appSettings>
       <add key="Upload" value="E:\suyiming\WebSite\upload\" />
      </appSettings>
    cs
     string ImagePath = ConfigurationManager.AppSettings["Upload"] + ImageName + ImageType; //获取图片在服务器上的虚拟路径
      

  10.   

    reader  ==null,一般是读取的文件名不对
      

  11.   

    郁闷。。回suyiming。这样有意义么。我想要的是一个动态读取同一项目。另一工程下的txt文件噢。。
    搞不懂Assembly.GetExecutingAssembly().GetManifestResourceStream(nameSpace)
    这样为什么拿不到。