Как использовать шаблон .ps1 t4scaffolding для добавления проектов в текущее решение?

Среда: Visual Studio 2012, MvcScaffolding

Я новичок в MvcScaffolding и Powershell, но я пытаюсь добавить новый проект в решение текущего проекта. Таким образом, в основном у пользователя есть 1 решение и 1 проект в этом решении, он запускает команду формирования шаблонов и генерирует несколько других проектов в этом решении. Я не хочу добавлять элемент в текущий проект, поэтому Add-ProjectItemViaTemplate мне в этом не поможет. Подходит ли эта технология для использования здесь?


person james    schedule 29.11.2012    source источник
comment
Вы должны добавить свой код в качестве ответа и принять его, чтобы получить за него голоса.   -  person John Saunders    schedule 30.11.2012


Ответы (1)


Я понял это, но я не верю, что это был тот путь, по которому я хотел пойти. Я выбираю настраиваемый многопроектный шаблон для обработки моих проектов, а затем использую mvcscaffolding для создания классов позже.

Однако этот код работает для создания созданного проекта библиотеки классов в текущем решении, и мне было очень трудно его выкопать, поэтому я публикую его здесь.

[T4Scaffolding.Scaffolder(Description = "Enter a description here")]                      [CmdletBinding()]
 param(        
[string]$Project,
[string]$CodeLanguage,
[string[]]$TemplateFolders,
[switch]$Force = $false
)
$slnName = [System.IO.Path]::GetFilename($dte.DTE.Solution.FullName)
$path = $dte.DTE.Solution.FullName.Replace($slnName,'').Replace('\\','\')
$sln = Get-Interface $dte.Solution ([EnvDTE80.Solution2]) 
$templatePath = $sln.GetProjectTemplate("ClassLibrary.zip","CSharp")
$sln.AddFromTemplate($templatePath, $path+'TestingLibGen','TestingLibGen')
person james    schedule 30.11.2012