ENVDTE: agregue un nuevo proyecto a la solución existente y ubíquelo en una carpeta específica
Escribí una plantilla de Visual Studio Wizard usando C # en Visual Studio 2012.
Seguí los pasos de MSDN: creé una plantilla VS, luego creé un proyecto de biblioteca de clases con una clase que implementa la interfaz IWizard, configuré el archivo .vstemplate y etc.
En mi proyecto de Biblioteca de clases, copio una solución existente de algún directorio en mi computadora, agrego el nuevo proyecto generado a esa solución y lo ejecuto.
Estoy haciendo esto como:
public void RunStarted(object automationObject, Dictionary<string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams)
{
solutionDir = replacementsDictionary["$solutiondirectory$"];
destProjectDir = replacementsDictionary["$destinationdirectory$"];
projName = replacementsDictionary["$specifiedsolutionname$"];
EmulationDir = @"MY_PATH\TestSln";
DirectoryCopy(EmulationDir, solutionDir);
dte = (DTE2)automationObject;
}
public void RunFinished()
{
Solution2 solution;
Project p;
solution = (Solution2)dte.Solution;
solution.Open(solutionDir + "\\TestSln.sln");
p = solution.AddFromFile(destProjectDir + "\\" + projName + ".vcxproj");
}
pero tengo que agregar el nuevo proyecto a una subcarpeta específica de la solución: el código anterior agrega el nuevo proyecto directamente a la solución, y me gustaría agregarlo a la soluciónDir \ apps.
¿Conoces alguna forma de hacerlo? ¡¡Gracias!!