public void Save(bool forPut) { projectPath = ProjectPathFromFile(projectPath); // XmlTextWriter writer = new XmlTextWriter(projectPath, System.Text.Encoding.UTF8); MockXmlTextWriter writer = new MockXmlTextWriter(projectPath, System.Text.Encoding.UTF8); writer.Formatting = Formatting.Indented; writer.WriteStartElement("NUnitProject"); if (configs.Count > 0 || this.BasePath != this.DefaultBasePath) { // Console.WriteLine("am here"); writer.WriteStartElement("Settings"); if (configs.Count > 0) writer.WriteAttributeString("activeconfig", ActiveConfigName); if (this.BasePath != this.DefaultBasePath) writer.WriteAttributeString("appbase", this.BasePath); writer.WriteEndElement(); } foreach (ProjectConfig config in Configs) { writer.WriteStartElement("Config"); writer.WriteAttributeString("name", config.Name); string appbase = config.BasePath; if (!PathUtils.SamePathOrUnder(this.BasePath, appbase)) writer.WriteAttributeString("appbase", appbase); else if (config.RelativeBasePath != null) writer.WriteAttributeString("appbase", config.RelativeBasePath); string configFile = config.ConfigurationFile; if (configFile != null && configFile != this.ConfigurationFile) writer.WriteAttributeString("configfile", config.ConfigurationFile); if (config.BinPathType == BinPathType.Manual) writer.WriteAttributeString("binpath", config.PrivateBinPath); else writer.WriteAttributeString("binpathtype", config.BinPathType.ToString()); foreach (string assembly in config.Assemblies) { writer.WriteStartElement("assembly"); writer.WriteAttributeString("path", PathUtils.RelativePath(config.BasePath, assembly)); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); writer.Close(); this.IsDirty = false; // Once we save a project, it's no longer // loaded as an assembly wrapper on reload. this.isAssemblyWrapper = false; }
public void Save(bool forPut) { projectPath = ProjectPathFromFile(projectPath); // XmlTextWriter writer = new XmlTextWriter(projectPath, System.Text.Encoding.UTF8); MockXmlTextWriter writer = new MockXmlTextWriter(projectPath, System.Text.Encoding.UTF8); writer.Formatting = Formatting.Indented; writer.WriteStartElement("NUnitProject"); if (configs.Count > 0 || this.BasePath != this.DefaultBasePath) { // Console.WriteLine("am here"); writer.WriteStartElement("Settings"); if (configs.Count > 0) { writer.WriteAttributeString("activeconfig", ActiveConfigName); } if (this.BasePath != this.DefaultBasePath) { writer.WriteAttributeString("appbase", this.BasePath); } writer.WriteEndElement(); } foreach (ProjectConfig config in Configs) { writer.WriteStartElement("Config"); writer.WriteAttributeString("name", config.Name); string appbase = config.BasePath; if (!PathUtils.SamePathOrUnder(this.BasePath, appbase)) { writer.WriteAttributeString("appbase", appbase); } else if (config.RelativeBasePath != null) { writer.WriteAttributeString("appbase", config.RelativeBasePath); } string configFile = config.ConfigurationFile; if (configFile != null && configFile != this.ConfigurationFile) { writer.WriteAttributeString("configfile", config.ConfigurationFile); } if (config.BinPathType == BinPathType.Manual) { writer.WriteAttributeString("binpath", config.PrivateBinPath); } else { writer.WriteAttributeString("binpathtype", config.BinPathType.ToString()); } foreach (string assembly in config.Assemblies) { writer.WriteStartElement("assembly"); writer.WriteAttributeString("path", PathUtils.RelativePath(config.BasePath, assembly)); writer.WriteEndElement(); } writer.WriteEndElement(); } writer.WriteEndElement(); writer.Close(); this.IsDirty = false; // Once we save a project, it's no longer // loaded as an assembly wrapper on reload. this.isAssemblyWrapper = false; }