in src/Tasks/Microsoft.NET.Build.Tasks/ResolvePackageAssets.cs [465:492]
private static BinaryReader CreateReaderFromDisk(ResolvePackageAssets task, byte[] settingsHash)
{
Debug.Assert(!task.DisablePackageAssetsCache);
BinaryReader reader = null;
try
{
if (File.GetLastWriteTimeUtc(task.ProjectAssetsCacheFile) > File.GetLastWriteTimeUtc(task.ProjectAssetsFile))
{
reader = OpenCacheFile(task.ProjectAssetsCacheFile, settingsHash);
}
}
catch (IOException) { }
catch (InvalidDataException) { }
catch (UnauthorizedAccessException) { }
if (reader == null)
{
using (var writer = new CacheWriter(task))
{
writer.Write();
}
reader = OpenCacheFile(task.ProjectAssetsCacheFile, settingsHash);
}
return reader;
}