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;

ここで、プロジェクトのアセンブリ名を取得したいと考えています。「Name = 'AssemblyName」の「BuildProperty」の「BuildProperyGroup」を調べる私のイニシャル

最初のハードルで落ちた

        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 に答える