有人知道如何以编程方式读取VS2008 csproj文件中的引用列表吗?MSBuild似乎不支持这个功能。我尝试通过将csproj文件加载到XmlDocument中来读取节点,但XPath搜索没有返回任何节点。我正在使用以下代码:
System.Xml.XmlDocument projDefinition = new System.Xml.XmlDocument();
projDefinition.Load(fullProjectPath);
System.Xml.XPath.XPathNavigator navigator = projDefinition.CreateNavigator();
System.Xml.XPath.XPathNodeIterator iterator = navigator.Select(@"/Project/ItemGroup");
while (iterator.MoveNext())
{
Console.WriteLine(iterator.Current.Name);
}
如果我能够获取ItemGroups列表,我就能够确定它是否包含参考信息。
ProjectReference
元素。 - astrowalkerXNamespace msbuild = "http://schemas.microsoft.com/developer/msbuild/2003";
因为我用 Resharper 把它改成了var
,然后我遇到了很多问题! - PatrickXNamespace
,这样后者的从字符串的隐式转换操作符才会起作用。 - Pavel Minaev