/// <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)); }