当前位置:编程学习 > C#/ASP.NET >>

着急!嵌入的资源读取失败,错误:“null”不是“stream”的有效值

//命名空间 CONFIG  
//文件夹名 dbsql
//文件名:  insertsql.sql

string  filename= "CONFIG.dbsql.insertsql.sql";

Assembly Asm = Assembly.GetExecutingAssembly();

 //MessageBox.Show(Asm.GetName().Name + "." + filename);
               
Stream strm = Asm.GetManifestResourceStream(Asm.GetName().Name + "." + filename);
StreamReader reader = new StreamReader(strm);

运行出现异常:“null”不是“stream”的有效值
找不到错误,请问如何解决呢?

--------------------编程问答-------------------- 调试
看看
Stream strm 是否为null --------------------编程问答-------------------- 调试的时候,Stream strm 是为空。
我不知道为什么会为空呢? --------------------编程问答-------------------- Assembly 对不对???
它是否包含那个嵌入资源
--------------------编程问答-------------------- Assembly 对不对???
怎么样assembly才是对的?
我把insertsql.sql文件的属性“生成操作”设置为了“嵌入资源”
MessageBox.Show(Asm.GetName().Name + "." + filename); 
show出来的信息如下:
webDb.CONFIG.dbsql.insertsql.sql
--------------------编程问答--------------------
执行 GetManifestResourceStream方法,
要有什么条件? --------------------编程问答-------------------- Assembly 对不对???
怎么样assembly才是对的?
我把insertsql.sql文件的属性“生成操作”设置为了“嵌入资源”
MessageBox.Show(Asm.GetName().Name + "." + filename); 
show出来的信息如下:
webDb.CONFIG.dbsql.insertsql.sql
===================
我这没你的环境,
这只能你自己调试了。 --------------------编程问答-------------------- F:\pppppp\webDb\ 是存放解决方案的目录

F:\pppppp\webDb\CONFIG\dbsql目录下放着 insertsql.sql文件

代码就只有下面的内容:

using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
using InfoEncrypt;
using System.Reflection;

namespace CONFIG
{
    public partial class AccountDbConf : Form
    {
         private void BakMenuItem_Click(object sender, EventArgs e)
         {

             //命名空间 CONFIG  
            //文件夹名 dbsql
            //文件名:  insertsql.sql

            string  filename= "CONFIG.dbsql.insertsql.sql";

            Assembly Asm = Assembly.GetExecutingAssembly();

           //MessageBox.Show(Asm.GetName().Name + "." + filename);
               
              Stream strm = Asm.GetManifestResourceStream(Asm.GetName().Name + "." + filename);
             StreamReader reader = new StreamReader(strm);
        }
    }
}

再帮我看看哦! --------------------编程问答-------------------- 我觉得你应该把.sql改成.resx --------------------编程问答-------------------- 功夫不负有心人,我终于调试成功了! --------------------编程问答-------------------- 请问楼主 是怎么解决的呢?
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,