public static bool TryParse(ICodebaseService codebaseService, CsProjectFileInfo projFileInfo, out CsProjectFile csProject) { try { csProject = CsProjectFile.Parse(codebaseService, projFileInfo); return(true); } catch { csProject = null; return(false); } }
public static CsProjectFile Parse(ICodebaseService codebaseService, CsProjectFileInfo projFileInfo) { var projFileContent = codebaseService.GetSourceFileContent(projFileInfo); var result = new CsProjectFile { ProjectFileInfo = projFileInfo, //IsNewFormat = CsParsingHelper.IsProjectOfNewFormat(projFileContent) }; CsParsingHelper.ParseFieldsFromCsProjectXml(result, projFileContent); if (!result.IsNewFormat) { if (codebaseService.TryGetSourceFileContentIfExists(projFileInfo.Branch , $"{projFileInfo.FolderPath}/packages.config", out var packagesConfigContent)) { result.PackageReferences = CsParsingHelper.ParsePackageReferencesFromConfig(packagesConfigContent); } } return(result); }