c# - StreamReader 参数NullException

标签 c# streamreader argumentnullexception

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

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();

最佳答案

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

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

Stream resource = assem.GetManifestResourceStream("projectName.nameSpace.sqlUpdates.txt")

关于c# - StreamReader 参数NullException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5902449/

相关文章:

c# - 如何仅在按值过滤时检索键

c# - 使用内存中的 sql lite 单元测试流利的 nhibernate 存储库 - 没有这样的表错误

c# - 运行 Python 脚本的进程对象未成功重定向输出

c# - 如何逐行读取文件并打印到文本框c#

c# - 在 C# 中读取第一百万行

c# - 从集合中删除空字符串的便捷方法

c# - 我如何过滤XmlNodeList

c# - System.NullReferenceException 检查 if != null 时

exception - SQL PL/SQL 用户定义的多个异常错误处理(空)

c# - 为什么这个字符串扩展方法没有抛出异常?