public IFileInfo GetFileInfo(string subpath) { if (subpath == null) { throw new ArgumentNullException(nameof(subpath)); } var fullPath = subpath.Trim(Path.PathSeparator, Path.AltDirectorySeparatorChar); if (_defaultFileNames.Contains(fullPath)) { subpath = "index.html"; } var packageUid = _globalVariablesService.GetValue(_packageUidGlobalVariableUid) as string; var packageRootPath = _packageManagerService.GetPackageRootPath(PackageUid.Parse(packageUid)); fullPath = Path.Combine(packageRootPath, fullPath); if (!File.Exists(fullPath)) { return(new NotFoundFileInfo(subpath)); } return(new PhysicalFileInfo(new FileInfo(fullPath))); }