Я пытался:
< ul>
[*]Добавить FileShare.ReadWrite
[*]Уже использую «using»
Все ответы, которые я видел до сих пор, предполагают вышеуказанные решения, но пока безуспешно.
Код: Выделить всё
private void LogForm_Load(object sender, EventArgs e)
{
LoadPreviousLog();
fileSystemWatcher.Path = filePath;
fileSystemWatcher.Filter = fileName;
fileSystemWatcher.Changed += WatchLog;
fileSystemWatcher.EnableRaisingEvents = true;
}
private void OnFormClosing(object sender, FormClosingEventArgs e)
{
fileSystemWatcher.Dispose();
}
private void WatchLog(object sender, FileSystemEventArgs e)
{
if (e.ChangeType != WatcherChangeTypes.Changed)
return;
string fullFileName = String.Format(@"{0}\{1}", filePath, fileName);
using (FileStream fs = new FileStream(fullFileName, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
{
fs.Seek(previousSize, SeekOrigin.Begin);
using (StreamReader sr = new StreamReader(fs))
{
while (!sr.EndOfStream)
{
newLine = Environment.NewLine + sr.ReadLine();
}
}
fs.Close();
}
if (logTextBox.InvokeRequired)
{
logTextBox.Invoke(new MethodInvoker(delegate
{
logTextBox.AppendText(newLine);
}));
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... ause-it-is