(Básicamente queremos importar archivos de objetivos en algunos lugares en el archivo * .csproj y de otra manera comprobar que el archivo cumpla con nuestros estándares)Quiero crear una herramienta que manipula los archivos de proyecto de C#
¿Cuál es la mejor manera de de hacer esto? Estoy planeando usar C# y XDocument (LINQ to XML) y manipular los nodos. ¿Pero es esa la mejor manera? Otras alternativas pueden ser:
- Busque el XSD para csproj/msbuild y cree objetos fuertemente tipados que representen el archivo del proyecto. ¿es posible?
- ¿Hay otras herramientas/idiomas que son mejores? (Podría usar esto como una excusa para aprender Ruby). Una respuesta debería tener algunos enlaces a ejemplos para manipular XML.
Tal vez la verdadera pregunta es: ¿Cuál es la mejor manera de leer y manipular XML programáticamente?
Su mejor opción sería usar algún tipo de automatización VS. Realmente no deberías estar jugando con esos archivos directamente. –
@Moron: No veo por qué no. Básicamente son archivos de MSBuild. IMO, el * punto * completo de ellos siendo XML (en lugar de ser archivos binarios opacos) es que son editables. –
@Jon Idealmente, no diría 'editable'. Legible, claro. Pero editarlos podría ser problemático, por ejemplo, cuando se actualizan a una nueva versión de VS. A menos que hablemos de cambios realmente simples. – kprobst