Cómo llamar a un asistente personalizado de Visual Studio desde la línea de comandos?

StackOverflow https://stackoverflow.com/questions/1671031

  •  13-09-2019
  •  | 
  •  

Pregunta

Tenemos un estudio Asistente Visual escrito utilizando el entorno de DTE para generar automáticamente el código, plantillas, etc .. basa fuera un poco de materia base de datos personalizada. En este momento nos lleva a unos diálogos, recoge la información, y luego utiliza la clase EnvDTE para generar el código y formato.

Dado que tengo la información recogida de los cuadros de diálogo disponibles, hay una manera de invocar devenv y tienen que ejecutar el asistente para generar automáticamente el código?

¿Fue útil?

Solución

La respuesta a esto fue la automatización de Visual Studio usando la interfaz DTE2. Por ejemplo, he creado una nueva instancia de Visual Studio con

Type t = Type.GetTypeFromProgID("VisualStudio.DTE.9.0", true);
object obj = System.Activator.CreateInstance(t, true);
m_DTEInstance = obj as DTE2;

A continuación, se pueden hacer cosas como la creación de una nueva solución:

Solution2 solution = (Solution2)m_DTEInstance.Solution;
solution.Create(OutputDirectory, Namespace + ".sln");

Otros consejos

Por supuesto que puede ejecutar Visual Studio desde la línea de comandos. Usted puede incluso hacer que ejecutar un comando (devenv /Command ...), pero aún significa bootstrapping todo el Visual Studio. Apenas es adecuado para correr en modo batch si esto es lo que se propone.

Lo que puede hacer en su lugar es utilizar CodeDom para la generación de código. Que no retransmite en EnvDTE o cualquier otra cosa desde Visual Studio para generar el código. En mi generador de código que también comenzó el uso de automatización de Visual Studio, pero cuando se trataba de proceso por lotes crea, tuve que hacerlo de nuevo usando CodeDom lugar

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top