我正在使用DocumentBuilder(openXML api),对于那些不了解documentBuilder的人我会给出一个简短的解释:它有一个功能' BuildDocument'获取源列表(每个源包含wmldocument),以及要保存到的fileName字符串。
public static void BuildDocument(List<Source> sources, string fileName)
这个函数的目的是构建一个包含所有源的单词docx。它将一些文档合并为一个。 在其功能结束时,它使用以下方式保存文档:
File.WriteAllBytes(...)
但是当我在服务器上运行我的项目时,我不断收到错误:&#34;进程无法访问该文件,因为它正由另一个进程使用。&#34; 几次它工作正常。并且在visualStudio中它也可以正常工作。 可能是什么问题?
答案 0 :(得分:1)
可能文档文件已经打开。
答案 1 :(得分:0)
保存保存文件后,请检查其是否已正确关闭。如果不是,那么下次当您尝试打开文件并在其中添加文本时,您可能会收到错误。使用类似File.Close()
答案 2 :(得分:0)
好的,我发现了我的错误,它出现在我的代码中,而不是在DocumentBuilder中。 我写道:
FileInfo f=new FileInfo....
f.Create();
我没有关闭它。我不得不将代码更改为: FileInfo f = new FileInfo .... FileStream fs = f.Create(); fs.Close(); 谢谢大家的帮助!我真的很感激!