Beispiel #1
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);
        }
        public static bool TryGetSourceFileContentIfExists(this ICodebaseService codebaseService, SourceItemInfo fileInfo, out string content)
        {
            ThrowIfNullOrInvalid(fileInfo);

            return(codebaseService.TryGetSourceFileContentIfExists(fileInfo.Branch, fileInfo.Key, out content));
        }