O processo do Stream Reader não pode acessar o arquivo porque está sendo usado por outro processo [duplicado]

Esta pergunta já tem uma resposta aqui:

Como posso ler um arquivo mesmo quando recebo uma exceção "em uso por outro processo"? 4 respostas

Meu aplicativo analisa arquivos de log, mas ao tentar analisar o arquivo do dia atual, recebo um erro informando que o arquivo está sendo usado por outro processo. No momento, este arquivo de log está sendo gravado e pode ser acessado através do bloco de notas, mas não pelo meu aplicativo.

Código atual:

Stream stream = new FileStream(fileToRead, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(stream);

Também tentei isso, mas não tive sorte:

Stream stream = new FileStream(fileToRead, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

Quais alterações precisam ser feitas no meu código para ler um arquivo que está sendo usado por outro processo. Copiar o arquivo de log não é uma solução devido ao tamanho do log e ao desempenho do meu aplicativo

questionAnswers(3)

yourAnswerToTheQuestion