嘿,
我有一个使用 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/