ich einige Code zu schreiben bin versucht, in einer * CSPROJ Datei mit C#Lesen einer * CSPROJ Datei in C#
Der Code I haben zu lesen, wie
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(fullPathName);
XmlNamespaceManager mgr = new XmlNamespaceManager(xmldoc.NameTable);
//mgr.AddNamespace("x", "http://schemas.microsoft.com/developer/msbuild/2003");
foreach (XmlNode item in xmldoc.SelectNodes("//EmbeddedResource"))
{
string test = item.InnerText.ToString();
}
mit dem Debugger folgt I kann sehen, dass ‚fullPathName“ hat den richtigen Wert und die xmldoc einmal geladen hat, die richtigen Inhalte.
die xmldoc keine hat ‚Knoten‘, obwohl, als ob der Inhalt als XML nicht erkannt werden.
Mit einem XML-Editor validiert die * .csproj-Datei ein XML-Dokument.
Wohin gehe ich falsch?
Das Projekt Klasse von Microsoft.Build.Engine zu referenzieren ist veraltet. Irgendeine Idee, wie Sie die Entsprechung mit der Projektklasse von Microsoft.Build.Evaluation (Assembly Microsoft.Build) tun? –
@ValeryLetroye, ich habe es nicht versucht, aber ich denke, etwas wie 'project.Items.Where (i => i.ItemType ==" EmbeddedResource ") sollte funktionieren. –
Genau das habe ich gesucht! Eine gute Möglichkeit, alle referenzierten Msbuild-Ziele und ihre Überschreibungen zu respektieren! Dies sollte aus technischer Sicht die bessere Lösung sein. – Chris