In Visual Studio 2013 RTM non è supportato l'aggiunta di scaffolder completamente personalizzati. Si può fare solo le seguenti personalizzazioni:
- È possibile modificare o sovrascrivere i template T4 esistenti per i regolatori, aree, viste, ecc
- È possibile aggiungere visualizzazione personalizzata ponteggiatori che verrà visualizzato nella esistente MVC View scaffolder
Il team di Visual Studio sta lavorando per riattivare il supporto personalizzato dello scaffolder in un futuro aggiornamento di Visual Studio.
Per aggiungere una vista personalizzata scaffolder oggi:
- creare qualsiasi progetto ASP.NET in VS2013
- Aggiungere una cartella chiamata
CodeTemplates
- Creare una sottocartella in là chiamato sia
MvcView
o MvcViewWithoutModel
seconda se il modello di visualizzazione personalizzato è una vista fortemente tipizzata
- Creare un file lì sotto forma di
<templatename>.<lang>.t4
dove lo <templatename>
è quello che si vuole mostrare in t L'elenco a discesa di MVC View Scaffolder e <lang>
è o cs
o vb
.
Per iniziare è possibile copiare qualsiasi scaffolder esistente dall'elenco predefinito di VS2013 e personalizzarlo. È possibile ottenere i ponteggiatori built-in da qui:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates\MvcView
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Web\Mvc\Scaffolding\Templates\MvcViewWithoutModel
Se si utilizza lo stesso nome di una scaffolder esistente allora avrà la precedenza sul scaffolder built-in, anche se chiamato da un altro scaffolder. Ad esempio, lo scaffolder del controller MVC utilizzerà uno scaffolder di visualizzazione sovrascritto presente nel progetto.
4/22/2014 Aggiornamento
Ora che le anteprime di Visual Studio 2013 Update 2 sono disponibili, è possibile scrivere ponteggiatori completamente personalizzati.
Dai un'occhiata a questo post sul blog che cammina attraverso il modo di scrivere uno scaffolder personalizzato: Creating a Custom Scaffolder for Visual Studio
Il modo come è stato fatto in aggiornamento MVC3 2, come mostrato in questo video da Steve Sanderson a circa 50 'in cui cambia T4Scaffolding Attributo .Scaffolder a T4Scaffolding.ControllerScaffolder che è una sottoclasse di Scaffolder. Scaffolding - ASP.NET, NuGet, Entity Framework Code First and More http://channel9.msdn.com/Events/MIX/MIX11/FRM13?format=smooth Credo che qualunque cosa abbia fatto la classe ControllerScaffolderAttribute (come registrarla con la GUI degli strumenti MVC, forse l'implementazione di un'interfaccia selezionata dalla GUI) funzionerà in modo simile con la nuova finestra di dialogo Aggiungi controller MVC 5 in VS 2013. – Rad
Steve Anderson ha anche una serie di blog che fornisce maggiori dettagli per questo processo: http: //blog.stevensanderson.com/2011/04/06/mvcscaffolding-overriding-the-t4-templates/ – Polynomial