1

Я хотел бы автоматизировать процесс создания проекта Visual Studio 2013 (в частности, веб-приложения MVC 4) с помощью сценария powershell, и я не нахожу полезной информации о том, как это сделать.Автоматизация создания проекта Visual Studio

Я понимаю, что могу взять файл шаблона проекта xml/scaffolding и скопировать его, а также заменить токены пространства имен и т. Д., Однако VS делает все это совершенно так, поэтому кажется, что должен быть API, который может быть использован для Сделай так.

Иногда я вижу ссылки на старый инструмент под названием projectgen.exe, который, похоже, является артефактом VS 2008 - я не могу найти его для VS 2013, и я даже не уверен, действительно ли он делает то, что мне нужно.

ответ

1

Один из способов сделать это, чтобы Visual Studio сделал это за вас, используя automation.

Код должен выглядеть примерно так:

{ 
    Type type = Type.GetTypeFromProgID("VisualStudio.DTE.11.0"); 
    var visualStudio = Activator.CreateInstance(type, true); 

    var dte = visualStudio.Instance; 
    var solution = (Solution2)dte.Solution; 
    solution.Create(destinationFolder, solutionName); 
    string templateFile = solution.GetProjectTemplate(applicationProjectTemplateName); 
    var project = solution.AddProjectFromTemplate(projectName, DestinationFolder, templateFile); 
    visualStudio.SaveAll(); 
}