streamReader ArgumentNullException

本文关键字:ArgumentNullException streamReader | 更新日期: 2023-09-27 17:54:53

大家好,
我有一个程序,使用sql表达本地DB。我希望能够使用该程序来运行必要的脚本更新数据库。文本文件已作为嵌入式资源添加到项目(VS2010),并且该文件包含文本。但是它无法打开文件。我得到一个"ArgumentNullException未处理"值不能为空。参数名:stream"这是代码…

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

streamReader ArgumentNullException

是'projectName'完整的汇编和命名空间,其中文件sqlUpdates.txt生活?代码是否在'projectName'程序集或其他地方运行上面的示例?

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

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

这基本上意味着

assem.GetManifestResourceStream("projectName.sqlUpdates.txt")

返回零……如果找不到资源,它就会这么做。检查它是否在组件中,例如与Reflector或assem.GetManifestResourceNames()

相关文章:
  • 没有找到相关文章