private bool DoesTargetFileNeedRebuild(string targetFile, string[] filesOnDisk, Dictionary<string, DateTime> fileStatuses)
{
if (!File.Exists(targetFile))
{
return true;
}
bool needsRebuild = false;
foreach (string file in filesOnDisk)
{
if (fileStatuses.ContainsKey(file.ToLower()))
{
DateTime lastCheckFileTime = fileStatuses[file.ToLower()];
DateTime fileTimeNow = File.GetLastWriteTimeUtc(file);
if (fileTimeNow != lastCheckFileTime)
{
needsRebuild = true;
}
}
else
{
needsRebuild = true;
}
}
return needsRebuild;
}