MSBUILD的程序集名称

时间:2011-01-21 16:15:08

标签: c# msbuild msbuild-propertygroup

我正在开发一个应用程序,它读取MSBUILD文件(* .csproj)以提取各种信息。此前的一个问题显示我可以按以下方式获取资源文件

        Project project = new Project();
        project.Load(fullPathName);

        var embeddedResources =
            from grp in project.ItemGroups.Cast<BuildItemGroup>()
            from item in grp.Cast<BuildItem>()
            where item.Name == "EmbeddedResource"
            select item;

现在我想获取项目的程序集名称。我首先在“BuildProperyGroup”中查找带有“Name ='AssemblyName”的“BuildProperty”

我陷入了第一道障碍

        var test =
            from grp in project.ItemGroups.Cast<BuildProperyGroup>()

因无效演员而失败。

关于我出错的地方的任何线索..

我最终得到的解决方案如下

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

1 个答案:

答案 0 :(得分:1)

ItemsGroups通常用于文件集合(例如.cs组中的所有Compile个文件)。听起来你想要在项目的PropertyGroups集合中探索。