CCNet.Build.SetupPackages.PackageChecker.VersionToUse C# (CSharp) Method

VersionToUse() public method

public VersionToUse ( string id ) : Version
id string
return Version
		public Version VersionToUse(string id)
		{
			if (!IsLocal(id))
				throw new InvalidOperationException("Only local packages can be updated to a specifc version.");

			if (IsPinnedToCurrentVersion(id))
				throw new InvalidOperationException("This package is pinned to its current version.");

			var custom = IsPinnedToSpecificVersion(id);
			if (custom != null)
				return custom;

			return m_localPackages[id].Version;
		}
	}

Usage Example

        private void UpdateReferenceVersions(ProjectDocument project)
        {
            Console.Write("Updating reference versions... ");

            foreach (var reference in project.GetBinaryReferences())
            {
                // skip assemblies from GAC
                if (reference.IsGlobal)
                {
                    continue;
                }

                // skip remote packages
                if (!m_checker.IsLocal(reference.Name))
                {
                    continue;
                }

                // skip static packages
                if (m_checker.IsStatic(reference.Name))
                {
                    continue;
                }

                // package should be pinned to its current version
                if (m_checker.IsPinnedToCurrentVersion(reference.Name))
                {
                    continue;
                }

                // get version to use for local package
                var versionToUse = m_checker.VersionToUse(reference.Name);

                // update is not required
                if (versionToUse.Normalize() == reference.Version.Normalize())
                {
                    continue;
                }

                // update package version within project file
                reference.UpdateVersion(versionToUse);
            }

            Console.WriteLine("OK");
        }
All Usage Examples Of CCNet.Build.SetupPackages.PackageChecker::VersionToUse