2015-06-27 5 views
11

Quando creo un nuovo progetto ASP.net MVC 5 e aggiungo una vista tramite lo scaffolding dall'azione di un controller, Visual Studio aggiunge sempre il pacchetto Nuget per Bootstrap e le sue dipendenze (ad esempio jQuery). Il più delle volte trovo che questo sia piuttosto ridondante e il più delle volte mi trovo a rimuoverlo.Come impedire l'autoinstallazione di Bootstrap (e dipendenze) nello scaffold MVC 5?

Esiste un'opzione che posso specificare durante la creazione di un progetto? o c'è una opzione di Visual Studio da qualche parte che impedirà l'installazione di Bootstrap tramite il ponteggio della vista? o forse lasciami creare il mio modello da cui lavorare?

+1

Questo comportamento varia da fastidioso a molto invasivo. Non si verifica solo quando si crea un nuovo progetto, ma ogni volta che il modello decide che Bootstrap, jQuery e Modernizr sono "mancanti" dalla soluzione. –

risposta

8

Ci sono alcune opzioni che sono disponibili e in grado di soddisfare le vostre esigenze con diversi gradi di testa.

Utilizzare il modello predefinito e rimuovere Bootstrap

  • destro del clic del progetto References e selezionare Manage NuGet Packages...
  • trovare i pacchetti che non si desidera e disinstallarli.

Questo risolverà il problema di Visual Studio durante il ripristino dei file durante la compilazione, ma non altera in modo permanente il modello predefinito. Queste dipendenze vengono installate tramite NuGet, quindi l'eliminazione di css/js non rimuoverà la dipendenza del progetto su Bootstrap, ma solo i file scaricati. Quando NuGet esegue il ripristino di un pacchetto, sta scaricando di nuovo i file eliminati, ripristinando correttamente la dipendenza.

Export e reimportare il modello predefinito

Questo è fondamentalmente salvare una copia modificata del modello predefinito e importarlo come nuovo modello/diverso. Questo non modifica il modello predefinito.

Analogamente al primo suggerimento, avviare un nuovo progetto con i valori predefiniti normali e quindi disinstallare tutto ciò che non si desidera, regolare l'HTML e ottenere le cose nel modo in cui si desidera un modello MVC predefinito.

Al termine, è possibile esportare il progetto modificato come nuovo modello seguendo le istruzioni per Customizing Templates.

modificare manualmente il modello predefinito di Visual Studio

Questo modo permanente modificare il modello predefinito.

I modelli predefiniti sono memorizzati in VSINSTALLDIR\Common7\IDE. Stiamo cercando la cartella WebTemplates. La cartella che ho usato per il test con Visual Studio 2015 (sostituire 14.0 con 12.0 se si utilizza 2013) è stato localizzato a:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\WebTemplates\MVC\CSharp\1033\MvcBasicApplicationv5.0

  • Passare a questa cartella.
  • Aprire il file MvcBasicApplication.cshtml.14.vstemplate.
  • Cerca il nodo <WizardData><packages>
  • Qui puoi rimuovere le dipendenze predefinite in modo che non vengano installate durante la creazione di un nuovo progetto.
  • Con Bootstrap andato, il markup html verrà eliminato, quindi è possibile che si desideri modificare anche i file appropriati nella cartella Views per accedervi.
+2

Buone informazioni. Quello che ho visto (e ciò che mi ha spinto a mettere un bounty su questa domanda) è che Bootstrap/dependencies * e * il _Layout.cshtml predefinito verrà a volte aggiunto automaticamente quando si crea una vista. Non importa se il progetto è nuovo o di molti mesi. Per fortuna non succede sempre, ma non riesco a capire perché (non ho il ripristino del pacchetto abilitato, e anche se l'ho fatto, i pacchetti sono stati rimossi). Iniziare con un modello pulito dovrebbe eliminare il problema nei nuovi progetti; Sono curioso di sapere se risolverà i miei progetti comportati male. –

+0

Indipendentemente dall'impostazione di ripristino del pacchetto, Boostrap o qualcosa che dipende da esso è ancora elencato nel pacchetto packages.config? – davidmdem

+0

questo è quello che stavo cercando da secoli –