【问题标题】:Assembly name from MSBUILD来自 MSBUILD 的程序集名称
【发布时间】:2011-02-08 06:48:28
【问题描述】:

我正在开发一个应用程序,它可以读取 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();

【问题讨论】:

  • 我不知道你在编程什么 API,但是如果你想要一个属性组,你不应该看project.PropertyGroups吗?

标签: c# msbuild msbuild-propertygroup


【解决方案1】:

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

【讨论】:

  • 这对我有用 - 我已将解决方案附加到问题中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-06
  • 2011-05-15
  • 1970-01-01
  • 2011-05-26
相关资源
最近更新 更多