如何使用.ps1 t4scaffolding模板将项目添加到当前解决方案?

时间:2012-11-29 23:03:29

标签: asp.net-mvc powershell t4 scaffolding asp.net-mvc-scaffolding

环境:Visual Studio 2012,MvcScaffolding

我是MvcScaffolding和Powershell的新手,但我想要完成的是将新项目添加到当前项目的解决方案中。因此,基本上用户有1个解决方案,并且该解决方案中的1个项目运行脚手架命令,并在该解决方案中生成一些其他项目。我不想在当前项目中添加项目,因此Add-ProjectItemViaTemplate对我没有帮助。这是在这里使用的正确技术吗?

1 个答案:

答案 0 :(得分: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')