private string DetectSitefinityVersion(string sitefinityProjectPath)
        {
            CsProjectFileReference sitefinityReference = this.csProjectFileEditor.GetReferences(sitefinityProjectPath)
                                                         .FirstOrDefault(r => this.IsSitefinityReference(r));

            if (sitefinityReference != null)
            {
                string versionPattern = @"Version=(.*?),";
                Match  versionMatch   = Regex.Match(sitefinityReference.Include, versionPattern);

                if (versionMatch.Success)
                {
                    return(versionMatch.Groups[1].Value);
                }
            }

            return(null);
        }
        private Version DetectSitefinityVersion(string sitefinityProjectPath)
        {
            CsProjectFileReference sitefinityReference = this.csProjectFileEditor.GetReferences(sitefinityProjectPath)
                                                         .FirstOrDefault(r => this.IsSitefinityReference(r));

            if (sitefinityReference != null)
            {
                string versionPattern = @"Version=(.*?),";
                Match  versionMatch   = Regex.Match(sitefinityReference.Include, versionPattern);

                if (versionMatch.Success)
                {
                    // 13.2.7500.76032 .ToString(3) will return 13.2.7500 - we need the version without the revision
                    var sitefinityVersionWithoutRevision = System.Version.Parse(versionMatch.Groups[1].Value).ToString(3);

                    return(System.Version.Parse(sitefinityVersionWithoutRevision));
                }
            }

            return(null);
        }
 private bool IsSitefinityReference(CsProjectFileReference reference)
 {
     return(this.ContainsSitefinityRefKeyword(reference) && reference.Include.Contains($"PublicKeyToken={SitefinityPublicKeyToken}"));
 }
 private bool ContainsSitefinityRefKeyword(CsProjectFileReference projectReference)
 {
     return(projectReference.Include.Contains(TelerikSitefinityReferenceKeyWords) || projectReference.Include.Contains(ProgressSitefinityReferenceKeyWords));
 }
 private bool ContainsSitefinityRefKeyword(CsProjectFileReference projectReference)
 {
     return((projectReference.Include.Contains(Constants.TelerikSitefinityReferenceKeyWords) || projectReference.Include.Contains(Constants.ProgressSitefinityReferenceKeyWords)) &&
            !projectReference.Include.Contains(Constants.ProgressSitefinityRendererReferenceKeyWords));
 }