private void Save() { try { var webConfigPath = this.FilePathTextbox.Text.Trim(" \"".ToCharArray()); var buildWebConfigResult = this.BuildWebConfigResult.Checked; var normalizeOutput = this.NormalizeOutput.Checked; var requireDefaultConfiguration = this.RequireDefaultConfiguration.Checked; var version = this.SitecoreVersionComboBox.Text; var outputShowConfigFile = this.GetShowConfigFilePath(ShowconfigFileName); if (string.IsNullOrEmpty(outputShowConfigFile)) { return; } var outputWebConfigFile = string.Empty; if (buildWebConfigResult) { outputWebConfigFile = this.GetShowConfigFilePath(WebConfigResultFileName); Assert.IsNotNull(outputWebConfigFile, "outputWebConfigFile"); } Sitecore.Diagnostics.ConfigBuilder.ConfigBuilder.Build(webConfigPath, false, false).Save(outputShowConfigFile); if (normalizeOutput) { Sitecore.Diagnostics.ConfigBuilder.ConfigBuilder.Build(webConfigPath, false, true).Save(GetNormalizedPath(outputShowConfigFile)); } if (buildWebConfigResult) { Sitecore.Diagnostics.ConfigBuilder.ConfigBuilder.Build(webConfigPath, true, false).Save(outputWebConfigFile); if (normalizeOutput) { Sitecore.Diagnostics.ConfigBuilder.ConfigBuilder.Build(webConfigPath, true, true).Save(GetNormalizedPath(outputWebConfigFile)); } } if (requireDefaultConfiguration) { if (!string.IsNullOrEmpty(version)) { try { var versionInfos = new ServiceClient().GetVersions("Sitecore CMS"); var versionInfo = versionInfos.First(x => version.StartsWith(x.Name)); var releaseInfo = versionInfo.Releases.First(x => version.StartsWith(x.Name)); var defaultShowConfig = outputShowConfigFile + "." + version + ".xml"; releaseInfo.Defaults.Configs.ShowConfig.Save(defaultShowConfig); Normalizer.Normalize(defaultShowConfig, GetNormalizedPath(defaultShowConfig)); if (buildWebConfigResult) { var defaultWebConfigResult = outputWebConfigFile + "." + version + ".xml"; releaseInfo.Defaults.Configs.Configuration.Save(defaultWebConfigResult); Normalizer.Normalize(defaultWebConfigResult, GetNormalizedPath(defaultWebConfigResult)); } } catch (Exception ex) { // Log.Error() } } } if (this.OpenFolder.Checked && File.Exists(outputWebConfigFile)) { string argument = @"/select, """ + outputWebConfigFile + @""""; Process.Start("explorer.exe", argument); } if (this.CloseWhenDone.Checked) { this.Close(); } } catch (Exception ex) { MessageBox.Show("The action failed with exception. " + ex.Message + Environment.NewLine + "Find details in the ConfigBuilder.ConfigBuilder.dll.log file", "Sitecore ConfigBuilder"); File.AppendAllText("ConfigBuilder.ConfigBuilder.dll.log", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + " ERROR " + ex.GetType().FullName + Environment.NewLine + "Message: " + ex.Message + Environment.NewLine + "Stack trace:" + Environment.NewLine + ex.StackTrace + Environment.NewLine); } }