La configurazione di scaffalature larghe soluzione è memorizzata in scaffolding.config
che si trova nella stessa cartella con il file di soluzione.
Nella fase di installazione MvcScaffolding
il pacchetto avvia lo script init.ps
(è possibile trovarlo nella directory <packages folder>\MvcScaffolding.<version>\tools
). Script conta aspx
, cshtml
e vbhtml
visualizzazioni e in base a questi numeri decide quale ponteggio vista verrà utilizzato. Ecco un pezzo di questa logica:
function InferPreferredViewEngine() {
# Assume you want Razor except if you already have some ASPX views and no Razor ones
if ((CountSolutionFilesByExtension aspx) -eq 0) { return "razor" }
if (((CountSolutionFilesByExtension cshtml) -gt 0) -or ((CountSolutionFilesByExtension vbhtml) -gt 0)) { return "razor" }
return "aspx"
}
# Infer which view engine you're using based on the files in your project
$viewScaffolder = if ([string](InferPreferredViewEngine) -eq 'aspx') { "MvcScaffolding.AspxView" } else { "MvcScaffolding.RazorView" }
Set-DefaultScaffolder -Name View -Scaffolder $viewScaffolder -SolutionWide -DoNotOverwriteExistingSetting
in modo da poter cambiare la visualizzazione scaffolder utilizzando i seguenti comandi:
Set-DefaultScaffolder -Name View -Scaffolder "MvcScaffolding.RazorView" -SolutionWide
Set-DefaultScaffolder -Name View -Scaffolder "MvcScaffolding.AspxView" -SolutionWide
oppure è possibile modificare manualmente scaffolding.config
di file e sostituire il valore per ScaffolderName
attributo nel tag:
<Default DefaultName="View" ScaffolderName="put here either MvcScaffolding.RazorView or MvcScaffolding.AspxView" />
fonte
2013-02-13 18:38:12
Forse chiedere: http://blog.stevensanderson.com/2011/01/13/scaffold-your-aspnet-mvc-3-project-with-the-mvcscaffolding-package/ –