sto cercando di scrivere del codice per leggere in un file * csproj utilizzando C#La lettura di un file * Csproj in C#
Il codice che ho è la seguente
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();
}
utilizzando il debugger I può vedere che 'fullPathName" ha il valore corretto e il xmldoc una volta caricato abbia i contenuti corretti.
il xmldoc non ha 'nodi' anche se, come se il contenuto non sono riconosciuti come XML.
Utilizzando un editor XML il file * .csproj convalida un documento XML.
Dove sto andando male?
La classe Progetto di Microsoft.Build.Engine è ormai deprecato. Qualche idea su come fare l'equivalente con la classe Project da Microsoft.Build.Evaluation (assembly Microsoft.Build)? –
@ValeryLetroye, non l'ho provato, ma penso qualcosa come 'project.Items.Where (i => i.ItemType ==" EmbeddedResource ")' dovrebbe funzionare. –
Questo è esattamente quello che stavo cercando! Un ottimo modo per rispettare tutti i target di riferimento di msbuild e le loro sostituzioni! Questa dovrebbe essere la soluzione migliore dal punto di vista tecnico. – Chris