2010-06-07 21 views
37

Estoy ejecutando Visual Studio 2010. Tengo un esquema XSD y quiero usar la herramienta xsd.exe para generar el archivo C# apropiado. Lo he hecho con éxito desde una línea de comandos, pero ahora quiero hacer lo mismo con IDE.Genera automáticamente XSD a C# en Visual Studio IDE

¿Hay alguna ruta conocida para esto? He logrado utilizar un evento de precompilación, pero odio tener la herramienta ejecutándose en cada compilación. Normalmente, solo debe ejecutarse cuando cambia XSD.

Agregar el archivo .cs generado al proyecto lo pone en .xsd del mismo nombre, por lo que el IDE sabe que están relacionados.

Sé que puedo configurar "Custom Tool" en mi .xsd pero no estoy seguro si eso logra el efecto deseado. Esperaba una manera más directa.

Y en última instancia, VS2010 no puede ejecutar XSD.EXE porque vive en la carpeta SDK y la ruta conocida por VS obviamente no la incluye.

¡Cualquier sugerencia es bienvenida!

Respuesta

39

Puede ver Xsd2Code para un complemento VS que hace esto de forma interactiva. El autor también está trabajando en una versión VS2010, hasta donde yo sé.

alt text http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=Xsd2Code&DownloadId=41336

+2

Gracias! Esperaba algo que usaría XSD.EXE desde el SDK de Windows, pero esto también está bien. Y, por cierto, el complemento funciona con VS 2010. – wpfwannabe

+1

Esta solución requiere la instalación de la herramienta en todas las instancias de Visual Studio. ¿Conoces algo que no requiera la instalación de un complemento? – yamspog

+0

@yamspog: no, no lo hago; todas las otras soluciones que conozco son simplemente extensiones/complementos diferentes para VS, básicamente. –

9

También puede añadirlo como una herramienta externa (haga clic en herramientas - herramientas externas ...) para Visual Studio (2015). Luego, simplemente seleccione el esquema xsd en Visual Studio y haga clic en herramientas - xsd para generar el archivo de clase.

adding xsd as an external tool

Parámetros:

  • Comando: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7 Tools\xsd.exe (sustituir con su versión de herramientas FX)
  • argumentos: /c "$(ItemDir)$(ItemFileName)$(ItemExt)"
  • directorio inicial: $(ItemDir)
  • ventana Uso de salida : yes
Cuestiones relacionadas