Reading the list of References from csproj files

前端 未结 3 1323
心在旅途
心在旅途 2020-12-09 02:12

Does anyone know of a way to programmatically read the list of References in a VS2008 csproj file? MSBuild does not appear to support this functionality. I\'m trying to re

3条回答
  •  無奈伤痛
    2020-12-09 03:05

    The XPath should be /Project/ItemGroup/Reference, and you have forgot the namespace. I'd just use XLINQ - dealing with namespaces in XPathNavigator is rather messy. So:

        XNamespace msbuild = "http://schemas.microsoft.com/developer/msbuild/2003";
        XDocument projDefinition = XDocument.Load(fullProjectPath);
        IEnumerable references = projDefinition
            .Element(msbuild + "Project")
            .Elements(msbuild + "ItemGroup")
            .Elements(msbuild + "Reference")
            .Select(refElem => refElem.Value);
        foreach (string reference in references)
        {
            Console.WriteLine(reference);
        }
    

提交回复
热议问题