とあるファイルを監視して、そのファイルに変更があった場合、そのファイルを読み取って処理を行いたいと思っています。

しかし、イベントハンドラの中で変更されたファイルを読み取ろうとすると、TargetInvocationExceptionが発生します。
new StreamReader(e.FullPath)の部分で例外が出てしまうのですが、どうすれば読み取れるでしょうか?

■ソース
private void watcher_Changed(System.Object source, System.IO.FileSystemEventArgs e){
 using (StreamReader sr = new StreamReader(e.FullPath)){
 }
}