Вы должны использовать пакет go / build .
package main
import (
"fmt"
"go/build"
)
func main() {
fmt.Println(build.Default.GOPATH)
}
XPath должен быть / Project / ItemGroup / Reference
, и вы забыли пространство имен. Я бы просто использовал XLINQ - работа с пространствами имен в XPathNavigator
довольно беспорядочная. Итак:
XNamespace msbuild = "http://schemas.microsoft.com/developer/msbuild/2003";
XDocument projDefinition = XDocument.Load(fullProjectPath);
IEnumerable<string> references = projDefinition
.Element(msbuild + "Project")
.Elements(msbuild + "ItemGroup")
.Elements(msbuild + "Reference")
.Select(refElem => refElem.Value);
foreach (string reference in references)
{
Console.WriteLine(reference);
}