Пример #1
0
 public static bool TryParse(ICodebaseService codebaseService, CsProjectFileInfo projFileInfo, out CsProjectFile csProject)
 {
     try
     {
         csProject = CsProjectFile.Parse(codebaseService, projFileInfo);
         return(true);
     }
     catch
     {
         csProject = null;
         return(false);
     }
 }
Пример #2
0
        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);
        }