private void RegisterWatchTask(DeploymentSite site)
{
var fsWatcher = new List<FileSystemWatcher>();
foreach (var fileConfig in site.Files)
{
var fs = new FileSystemWatcher(fileConfig.Source);
fs.IncludeSubdirectories = true;
fs.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName;
fs.Changed += fs_Changed;
fs.Renamed += fs_Changed; // Visual Studio creates a temp file and then rename it on save
fs.EnableRaisingEvents = true;
_watcherCache.Add(fs);
var fullDirName = new DirectoryInfo(fileConfig.Source).FullName.ToUpperInvariant();
_registeredSources.Add(fullDirName, new Tuple<DeploymentSite, DeploymentFile>(site, fileConfig));
}
}