public static string BuildNuGetPack
            (string aTokenizedCommandLine, bool aUseNuSpecFileIfAvailable)
        {
            StringBuilder vResult     = new StringBuilder(aTokenizedCommandLine);
            string        vSourcePath =
                aUseNuSpecFileIfAvailable
                                        ? NuSpecFilePath
                                        : ProjectPath;

            vResult
            .Replace(BASE_PATH.AsToken(), BasePath)
            .Replace(EXCLUDE.AsToken(), Exclude)
            .Replace(MIN_CLIENT_VERSION.AsToken(), MinClientVersion)
            .Replace(MS_BUILD_PATH.AsToken(), MSBuildPath)
            .Replace(MS_BUILD_VERSION.AsToken(), MSBuildVersion)
            //				.Replace(OUTPUT_PACKAGE_TO.AsToken(), PackagePath)
            .Replace
            (
                OUTPUT_PACKAGE_TO.AsToken()
                , PackageDir + Path.DirectorySeparatorChar
            )
            .Replace(PACKAGE_VERSION.AsToken(), PackageVersion)
            .Replace(PROJECT_PATH.AsToken(), vSourcePath)
            .Replace(PROPERTIES.AsToken(), Properties)
            .Replace(VERSION_SUFFIX_NUGET.AsToken(), VersionSuffixNuGet)
            .Replace(VERBOSITY_NUGET.AsToken(), VerbosityNuGet);
            return(vResult.ToString());
        }
        /// <summary>
        /// Replace the tokens with their desired values. Example command line
        /// follows:
        /// "-AssemblyPath $AssemblyPath$ -Force -ForceEnglishOutput -NonInteractive -Verbosity $VerbosityNuGet$"/>
        /// </summary>
        /// <param name="aTokenizedCommandLine"></param>
        /// <returns></returns>
        public static string BuildNuGetSpec(string aTokenizedCommandLine)
        {
            StringBuilder vResult = new StringBuilder(aTokenizedCommandLine);

            vResult
            .Replace(ASSEMBLY_PATH.AsToken(), AssemblyPath)
            .Replace(VERBOSITY_NUGET.AsToken(), VerbosityNuGet);
            return(vResult.ToString());
        }
        public static string BuildNuGetAdd(string aTokenizedCommandLine)
        {
            StringBuilder vResult = new StringBuilder(aTokenizedCommandLine);

            vResult
            .Replace(SOURCE.AsToken(), Source)
            .Replace(CONFIG_FILE.AsToken(), ConfigFile)
            .Replace(VERBOSITY_NUGET.AsToken(), VerbosityNuGet);
            return(vResult.ToString());
        }
        public static string BuildNuGetDelete(string aTokenizedCommandLine)
        {
            StringBuilder vResult = new StringBuilder(aTokenizedCommandLine);

            vResult
            .Replace(PACKAGE_ID.AsToken(), PackageId)
            .Replace(PACKAGE_VERSION.AsToken(), PackageVersion)
            .Replace(API_KEY.AsToken(), ApiKey)
            .Replace(CONFIG_FILE.AsToken(), ConfigFile)
            .Replace(SOURCE.AsToken(), Source)
            .Replace(VERBOSITY_NUGET.AsToken(), VerbosityNuGet);
            return(vResult.ToString());
        }
        public static string BuildNuGetPush(string aTokenizedCommandLine)
        {
            StringBuilder vResult = new StringBuilder(aTokenizedCommandLine);

            vResult
            .Replace(PACKAGE_PATH.AsToken(), PackagePath)
            .Replace(API_KEY.AsToken(), ApiKey)
            .Replace(CONFIG_FILE.AsToken(), ConfigFile)
            .Replace(SOURCE.AsToken(), Source)
            .Replace(SYMBOL_SOURCE.AsToken(), SymbolSource)
            .Replace(SYMBOL_API_KEY.AsToken(), SymbolApiKey)
            .Replace(TIMEOUT.AsToken(), Timeout)
            .Replace(VERBOSITY_NUGET.AsToken(), VerbosityNuGet);
            return(vResult.ToString());
        }