1

我正在将文件添加到 vs.net 之外的 cs 项目(图像、css 等,我们组之外的文件,但对于发布是必需的)。我正在加载 csproj 并查询包含“内容”节点的 ItemGroup。

XNamespace msbuild = "http://schemas.microsoft.com/developer/msbuild/2003";
XDocument projectDocument = XDocument.Load("someproject.csproj");

var itemGroup = projectDocument.Element(msbuild + "Project")
                               .Elements(msbuild + "ItemGroup")
                               .Descendants()
                               .Where(x => x.Name == msbuild +"Content")
                               .First().Parent;

有没有更好的方法来获得这个组?

谢谢你。

4

1 回答 1

1

你可以这样做:

var itemGroup = 
    projectDocument.Element(msbuild + "Project")
                   .Elements(msbuild + "ItemGroup")
                   .Where(x => x.Descendants()
                                .Any(y => y.Name == msbuild +"Content")
                         )
                   .FirstOrDefault();
于 2011-05-31T06:32:18.993 回答