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();
答案 0 :(得分:2)
'projectName'是文件sqlUpdates.txt所在的完整程序集和命名空间吗?上面的代码是在'projectName'程序集中运行的,还是在其他地方运行?
如果sqlUpdates.txt文件位于projectName程序集下面的命名空间中,则需要在调用GetManifiestResourceStream时指定,即:
Stream resource = assem.GetManifestResourceStream("projectName.nameSpace.sqlUpdates.txt")
答案 1 :(得分:0)
这基本上意味着
assem.GetManifestResourceStream("projectName.sqlUpdates.txt")
返回null ...如果无法找到该资源,它将执行此操作。检查它实际上是否在装配中,例如使用Reflector或assem.GetManifestResourceNames()
。