1

我正在开发一个读取 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();
4

1 回答 1

1

ItemsGroups通常用于文件的集合(例如组中.cs的所有文件Compile)。听起来您想在项目的PropertyGroups集合中闲逛。

于 2011-01-21T16:29:18.617 回答