internal bool CanReadFile(FilePath file, Type expectedType) { if (expectedType.IsAssignableFrom(typeof(Solution)) && slnFileFormat.CanReadFile(file, this)) { return(true); } else if (expectedType.IsAssignableFrom(typeof(SolutionItem))) { if (!MSBuildProjectService.CanReadFile(file)) { return(false); } //TODO: check ProductVersion first return(SupportsToolsVersion(ReadToolsVersion(file))); } return(false); }