diff --git a/src/Microsoft.Extensions.FileProviders.Embedded/EmbeddedFileProvider.cs b/src/Microsoft.Extensions.FileProviders.Embedded/EmbeddedFileProvider.cs index 988dc8d0..35a37421 100644 --- a/src/Microsoft.Extensions.FileProviders.Embedded/EmbeddedFileProvider.cs +++ b/src/Microsoft.Extensions.FileProviders.Embedded/EmbeddedFileProvider.cs @@ -49,8 +49,24 @@ public EmbeddedFileProvider(Assembly assembly, string baseNamespace) _baseNamespace = string.IsNullOrEmpty(baseNamespace) ? string.Empty : baseNamespace + "."; _assembly = assembly; - // REVIEW: Does this even make sense? - _lastModified = DateTimeOffset.MaxValue; + + _lastModified = DateTimeOffset.UtcNow; + +#if NETSTANDARD1_5 || NET451 + if (!string.IsNullOrEmpty(_assembly.Location)) + { + try + { + _lastModified = File.GetLastWriteTimeUtc(_assembly.Location); + } + catch (PathTooLongException) + { + } + catch (UnauthorizedAccessException) + { + } + } +#endif } /// diff --git a/src/Microsoft.Extensions.FileProviders.Embedded/project.json b/src/Microsoft.Extensions.FileProviders.Embedded/project.json index 91bc900c..aee655ff 100644 --- a/src/Microsoft.Extensions.FileProviders.Embedded/project.json +++ b/src/Microsoft.Extensions.FileProviders.Embedded/project.json @@ -24,13 +24,18 @@ "version": "1.1.0-*", "type": "build" }, - "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0-*" + "Microsoft.Extensions.FileProviders.Abstractions": "1.1.0-*", + "System.Runtime.Extensions": "4.1.0-*" }, "frameworks": { - "netstandard1.0": { + // need to keep netstandard1.0 until ASP.NET Core 2.0 because it is a breaking change if we remove it + "netstandard1.0": { }, + "netstandard1.5": { "dependencies": { - "System.Runtime.Extensions": "4.1.0-*" + "System.IO.FileSystem": "4.0.1-*", + "System.Reflection": "4.1.0-*" } - } + }, + "net451": { } } } \ No newline at end of file