Я пытаюсь создать / кодировать полезный инструмент на C #, и мне может понадобиться небольшая помощь с конкретной проблемой.
Я хотел бы знать, есть ли в любом случаезавершить ВСЕ процессы, которые пытаются получить доступ к файлу , поэтому я могу открыть и отредактировать определенный файл.
Проблема в том, что я пытаюсь "System.IO.File.WriteAllLines ()"для файла, который уже занят другим процессом.
System.IO.StreamReader file = new System.IO.StreamReader(settingsPath);
try
{
while (file.ReadLine() != null)
{
String lineContent = file.ReadLine();
if (lineContent.Contains(whichSettingString) && lineContent != null)
{
lineContent = lineContent.Replace(whichSettingString, NewValue);
completeLineContent[0] = lineContent;
}
lineContent = lineContent + lineContent;
}
} catch (Exception)
{
}
//file.Dispose();
file.Close();
System.IO.File.WriteAllLines(settingsPath, completeLineContent);
My IDE Visual Studio выдает исключение в последней строке, сообщая, что файл уже занят другим процессом.Сам по себе код работает, я попытался сохранить / записать вывод этого блока в другой файл, и он работает.Таким образом, единственная идея, которую я получил, которая может мне помочь, это строка кода или, возможно, более 1 строки, чтобы «убить» все процессы, которые пытаются получить доступ к файлу.
Уже некоторое время гуглил и проверял переполнение стека для этой проблемы, но пока не нашел решения.Это мой первый комментарий о переполнении стека, и я немного новичок в кодировании, поэтому, если вам нужна дополнительная информация, пожалуйста, не стесняйтесь спрашивать :-)
Большое спасибо, наилучшие пожелания Nico