Freigeben von Verstoß-IOException beim Lesen und Schreiben in Datei C #

Hier ist mein Code:

public static TextWriter twLog = null;
private int fileNo = 1;
private string line = null;

TextReader tr = new StreamReader("file_no.txt");
TextWriter tw = new StreamWriter("file_no.txt");
line = tr.ReadLine();
if(line != null){
    fileNo = int.Parse(line);
    twLog = new StreamWriter("log_" + line + ".txt");
}else{
    twLog = new StreamWriter("log_" + fileNo.toString() + ".txt");  
}
System.IO.File.WriteAllText("file_no.txt",string.Empty);
tw.WriteLine((fileNo++).ToString());
tr.Close();
tw.Close();
twLog.Close();

Es löst diesen Fehler aus:

IOException: Freigabeverletzung in Pfad C: \ Users \ Water Simulation \ file_no.txt

Ich versuche nur, eine Datei mit dem Namen "log_x.txt" zu öffnen und das "x" aus der Datei "file_no.txt" zu übernehmen. Wenn die Datei "file_no.txt" leer ist, den Namen der Protokolldatei "log_1.txt" erstellen und "fileNo + 1" schreiben. Nach dem Start eines neuen Programms muss der Name der neuen Protokolldatei log_2.txt lauten. Aber ich erhalte diesen Fehler und konnte nicht verstehen, was ich falsch mache. Vielen Dank für die Hilfe.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage