2011-02-14 3 views
2

Basé sur la question: Reading a *.CSPROJ file in C#Mise à jour d'un * .csproj en utilisant l'API MSBUILD

J'ai code pour extraire certaines propriétés d'un fichier * .csproj, le long des lignes de:

Project project = new Project(); 

var Property001= 
      from pg in project.PropertyGroups.Cast<BuildPropertyGroup>() 
      from item in pg.Cast<BuildProperty>() 
      where item.Name == "Property001" 
      select item.Value.ToString(); 

Cela fonctionne bien , mais la question suivante est comment puis-je mettre à jour la propriété en utilisant LINQ aussi bien?

Répondre

1

Vous pouvez utiliser LINQ pour récupérer l'élément de propriété - plutôt que la valeur - mise à jour:

var Property001item = 
     (from pg in project.PropertyGroups.Cast<BuildPropertyGroup>() 
     from item in pg.Cast<BuildProperty>() 
     where item.Name == "Property001" 
     select item).FirstOrDefault(); 
if (Property001item != null) 
{ 
    Property001item.Value = "MyNewValue"; 
} 
Questions connexes