Modificando el archivo webconfig de múltiples proyectos

¿Quiero modificar el archivo de configuración web de todos los proyectos en una carpeta en particular agregando una nueva línea en la configuración web? ¿alguien puede sugerir cómo lograr esto?

preguntado el 27 de julio de 12 a las 15:07

1 Respuestas

Una pequeña aplicación de consola, con algo así:

var path = <YourDirectory>;
var newValue = <a new Value in the new line>;
var files = Directory.GetFiles(path, "web.config", SearchOption.AllDirectories);

foreach (var file in files)
{
   var doc = XDocument.Load(file);
   var parentElement = doc.Element("blabla");//get the right parent Node
   parentElement.Add(new XElement("new name"), newValue);//well put what you want in it : attributes, values...
   doc.Save(file);
}

EDITAR

Para su caso, simplemente ponga eso en el principal

var path = @"C:\Tools";
var newAssembly = @"System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35";
var files = Directory.GetFiles(path, "Web.config", SearchOption.AllDirectories);

foreach (var file in files)
{
      var doc = XDocument.Load(file);
      var parentElement = doc.Descendants("assemblies").FirstOrDefault();
      if (parentElement != null)
      {
           var newNode = new XElement("add", new XAttribute("assembly", newAssembly));
           parentElement.Add(newNode);
      }
                doc.Save(file);
 }

Respondido 30 Jul 12, 08:07

Gracias por la respuesta, ¿cómo agregar una referencia de ensamblaje en múltiples proyectos asp.net mvc usando una aplicación de consola? - Manickam Chidhambaram

para modificar el archivo del proyecto para agregar una referencia de ensamblaje, este código cortado no funciona. ¿Hay alguna otra manera? - Manickam Chidhambaram

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.