Ich benutze DocumentBuilder (von openXML api), an diejenigen, die den documentBuilder nicht kennen, gebe ich eine kurze Erklärung: er hat eine Funktion 'BuildDocument', das eine Liste von Quellen erhält (jede Quelle enthält wmldocument) und eine Zeichenfolge von fileName, in der gespeichert werden soll.documentBuilder: Der Prozess kann nicht auf die Datei zugreifen, weil sie von einem anderen Prozess verwendet wird
public static void BuildDocument(List<Source> sources, string fileName)
Zweck dieser Funktion ist es, ein Wort docx zu erstellen, das alle Quellen enthält. Es führt einige Dokumente zu einem zusammen. am Ende seiner Funktionalität speichert es die doc mit:
File.WriteAllBytes(...)
aber wenn ich laufe mein Projekt auf dem Server ich den Fehler danach weiterhin: „Der Prozess nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird . " einige Male funktioniert es ok. und im VisualStudio funktioniert es auch ohne Fehler. Was kann das Problem sein?
Verwenden Sie den gleichen Stream, um zu öffnen und zu schreiben? (Sie müssen möglicherweise mehr von Ihrem Code in Bezug auf das Öffnen, Lesen und Schreiben in diese Datei.) –
Das Problem ist wahrscheinlich in dem Sie die 'BuildDocument' Methode aufrufen. Ist es möglich, diesen Teil des Codes zu bekommen? – GETah