C# 在使用XDocument读取csproj时,有什么更好的方法检索此元素?

C# 在使用XDocument读取csproj时,有什么更好的方法检索此元素?,c#,.net,linq-to-xml,xelement,csproj,C#,.net,Linq To Xml,Xelement,Csproj,我正在将文件添加到vs.net之外的cs项目中(图像、css等,这些文件在我们组之外,但需要发布)。我正在加载csproj并查询包含“内容”节点的ItemGroup 有没有更好的方法来吸引这群人 谢谢。您可以这样做: var itemGroup = projectDocument.Element(msbuild + "Project") .Elements(msbuild + "ItemGroup") .Whe

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

有没有更好的方法来吸引这群人


谢谢。

您可以这样做:

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

你可以这样做:

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

没什么错,我想知道是否有一个更直接的电话,可以像我的评论不适用马德洛克。我能看到的唯一一件事是,如果LINQ语句的某些部分没有匹配的元素,您可能会得到一个异常。没什么错,我想知道是否有一个更直接的调用可能是Madelook,就像我的评论不适用一样。我唯一能看到的是,如果LINQ语句的某些部分没有匹配的元素,则可能会出现异常。