T4Scaffolding.Scaffolder(Description = "Creates a model entity")][CmdletBinding()]
param(
[parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$EntityName,
[string]$ProjectName,
[string]$CodeLanguage,
[string[]]$TemplateFolders,
[switch]$Force = $false
)
# Find the code project, or abort
$project = Get-Project ($ProjectName) -ErrorAction SilentlyContinue
if (!$project) { throw "Cannot find code project corresponding to solution '$ProjectName'" }
$entityFile = $EntityName
Add-ProjectItemViaTemplate $entityFile -Template EntityTemplate `
-Model @{ Namespace = $namespace; EntityName = $EntityName; MappingName = $MappingName } `
-SuccessMessage "Added Model non-gen output at {0}" `
-TemplateFolders $TemplateFolders -Project $ProjectName -CodeLanguage $CodeLanguage -Force:$false
あなたはすでに様々なscaffoldersを適用する必要があるプロジェクトを知っていればあなたは、あなたがデフォルトを設定することができ、アドインProjectItemViaTemplatesないプロジェクトオブジェクト
で-Project引数に文字列を渡す必要がありますスキャフォルダー内のProjectNameの値。
MvcScaffoldingパッケージにはいくつかの例があります。
TFSには20のプロジェクトがあり、t4テンプレートのコードは1つの中央の場所で管理したいと考えています。すべてのプロジェクトにデータをコピーしても機能しません。 –
私の編集を参照してください... – bytebender
Michelottiの記事を読んだところ、どのように強力なT4ができるのかがわかりました(それが私がt4-fuを学ぶのが大好きな理由です)。それらをパッケージにまとめることは涼しいアイデアのように聞こえるが、私は(まだ)そのようなことをどうやって行うのか考えていない。また、パブリックサーバーにこのパッケージを公開することはできません。もし私がそこに休憩所を持っていたら、私はあなたに知らせるでしょう。あなたが近づくと私に知らせてください! :-) –