C# 使用MSBUILD API更新*.CSPROJ
根据问题: 我有代码从*.csproj文件中提取一些属性,如下所示:C# 使用MSBUILD API更新*.CSPROJ,c#,linq,msbuild,C#,Linq,Msbuild,根据问题: 我有代码从*.csproj文件中提取一些属性,如下所示: Project project = new Project(); var Property001= from pg in project.PropertyGroups.Cast<BuildPropertyGroup>() from item in pg.Cast<BuildProperty>() where item.Name =
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();
Project项目=新项目();
var Property001=
来自project.PropertyGroups.Cast()中的pg
从第页铸件()中的项目开始
其中item.Name==“Property001”
选择item.Value.ToString();
这很好,但下一个问题是如何使用LINQ更新属性?您可以使用LINQ获取要更新的属性项,而不仅仅是值:
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";
}
var Property001item=
(来自project.PropertyGroups.Cast()中的pg)
从第页铸件()中的项目开始
其中item.Name==“Property001”
选择项);
如果(Property001item!=null)
{
Property001item.Value=“MyNewValue”;
}