Ejemplo n.º 1
0
        /// <summary>
        /// Creates an instance of MetricsInvoker
        /// </summary>
        /// <param name="filesToProcess">Which files to process, Can be wildcards or explicit file names</param>
        /// <param name="rootPath">Root path where to look for binaries</param>
        /// <param name="output">The resulting output from metrics.exe</param>
        /// <param name="logger">Instance of IMetricsLogger</param>
        /// <returns>A MetricsInvoker instance </returns>
        public static MetricsInvoker Create(IEnumerable<string> filesToProcess, string rootPath, string output, IMetricsLogger logger)
        {
            string metricsExePath = Path.Combine(CodeQuality.CodeMetrics.ProgramFilesX86(), @"Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\metrics.exe");
            if (!File.Exists(metricsExePath))
            {
                logger.LogError("Could not locate " + metricsExePath + ". Please download Visual Studio Code Metrics PowerTool 10.0 at http://www.microsoft.com/downloads/en/details.aspx?FamilyID=edd1dfb0-b9fe-4e90-b6a6-5ed6f6f6e615");
                return null;
            }

            return new MetricsInvoker(metricsExePath, filesToProcess, rootPath, output, logger);
        }
        /// <summary>
        /// Creates an instance of MetricsInvoker
        /// </summary>
        /// <param name="filesToProcess">Which files to process, Can be wildcards or explicit file names</param>
        /// <param name="rootPath">Root path where to look for binaries</param>
        /// <param name="output">The resulting output from metrics.exe</param>
        /// <param name="logger">Instance of IMetricsLogger</param>
        /// <returns>A MetricsInvoker instance </returns>
        public static MetricsInvoker Create(IEnumerable <string> filesToProcess, string rootPath, string output, IMetricsLogger logger)
        {
            string metricsExePath = Path.Combine(CodeQuality.CodeMetrics.ProgramFilesX86(), @"Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\metrics.exe");

            if (!File.Exists(metricsExePath))
            {
                logger.LogError("Could not locate " + metricsExePath + ". Please download Visual Studio Code Metrics PowerTool 10.0 at http://www.microsoft.com/downloads/en/details.aspx?FamilyID=edd1dfb0-b9fe-4e90-b6a6-5ed6f6f6e615");
                return(null);
            }

            return(new MetricsInvoker(metricsExePath, filesToProcess, rootPath, output, logger));
        }