private static BinaryReader CreateReaderFromDisk()

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;
            }