首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >streamReader ArgumentNullException

streamReader ArgumentNullException
EN

Stack Overflow用户
提问于 2011-05-06 02:26:44
回答 2查看 2.8K关注 0票数 2

嘿,你们好,

我有一个使用sql express local DB的程序。我希望能够更新该数据库使用该程序来运行必要的脚本。已将文本文件作为嵌入资源添加到项目(VS2010)中,并且该文件包含文本。但它无法打开该文件。我得到一个"ArgumentNullException was unhandled“”值不能为空。参数名:流“这是代码...

代码语言:javascript
复制
Assembly assem;
StreamReader textReader;
assem = Assembly.GetExecutingAssembly();
//fails at this line below.
textReader = new StreamReader(assem.GetManifestResourceStream("projectName.sqlUpdates.txt"));

tReader.Peek() != -1)
  script = textReader.ReadToEnd();
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-06 02:35:49

'projectName‘是文件sqlUpdates.txt所在的完整程序集和命名空间吗?运行上面示例的代码是在“projectName”程序集中还是在其他地方?

如果sqlUpdates.txt文件位于projectName程序集下面的命名空间中,则需要在对GetManifiestResourceStream的调用中指定,即:

代码语言:javascript
复制
Stream resource = assem.GetManifestResourceStream("projectName.nameSpace.sqlUpdates.txt")
票数 2
EN

Stack Overflow用户

发布于 2011-05-06 02:30:15

这基本上意味着

代码语言:javascript
复制
assem.GetManifestResourceStream("projectName.sqlUpdates.txt")

返回null...如果它找不到那个资源,它就会这么做。检查它是否确实在程序集中,例如使用Reflector或assem.GetManifestResourceNames()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5902449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档