2014-07-23 10 views
14

Utilizziamo Visual Studio + Web Essentials per compilare file LESS in CSS. Ogni volta che modifichiamo un file LESS, Web Essentials insiste sulla creazione di un file * .css, * .min.css e * .css.map e li aggiunge al file di progetto di Visual Studio.È possibile configurare Web Essentials per NON aggiungere file * .css al progetto Visual Studio?

Non vogliamo eseguire il check-in di questi file sul controllo del codice sorgente come non eseguiamo il check-in dei file dll.

Quindi la mia domanda è: possiamo configurare Web Essentials per NON aggiungere * .css & * .css.map al progetto VS?

+1

Maggiori informazioni: Abbiamo cercato di ignorare semplicemente i file in .gitignore ma poi il nostro server di build non riesce, a causa MS Web Deploy ha esito negativo a meno che non siano presenti tutti i file nel progetto. Abbiamo un evento build che crea un main.css includendo tutti i file LESS in main.less e poi crea main.css. –

+1

Quindi hai bisogno di questi file CSS? Come si potrebbe interrompere la creazione di Web Essentials e quindi utilizzare l'attività di creazione per creare il file. –

+1

Buona domanda. Ho bisogno del file main.css durante lo sviluppo ... ma non di tutti gli altri file. Non mi interessa se sono stati creati ... ma semplicemente non li voglio includere nel mio progetto VS. –

risposta

4

No. Web Essentials aggiungerà i file CSS generati al progetto VS.

È possibile utilizzare dotless per generare file CSS su build senza aggiungerli al progetto VS.

+1

Questo è quello che abbiamo finito per fare ;-) –

+0

Quindi questa è la tua configurazione? 1. Git ignora tutti i file css, min e map in/certain-path /. 2. Aggiungi un evento post-build per generare senza errori css (+ min + map, se desiderato). C'è altro? – Sean

+0

@Sean Sì, questo è tutto. Invece dell'evento post-build in Visual Studio modifico la sezione del file csproj in modo che MSBuild possa gestirlo anche quando si costruisce senza Visual Studio. –

0

È possibile configurare una regola .gitignore in modo che non vengano commessi, ma ciò significherebbe anche che non verrebbero aggiornati in seguito alle modifiche apportate ai file .less da altre persone o al passaggio di rami finché non si è attivato un ricompilare i file .less.

+2

Il problema con il fare questo è il file '' '.css.map''' che sarà ancora parte del file di progetto, e si può avere problemi quando si pubblica con Web Deploy da un server di build, poiché il progetto pensa che ci dovrebbe i file '' '.css.map''' ci sono.Poiché i file non sono presenti, la distribuzione fallirà :(. Ho appena provato a ignorarli e ho riscontrato questo problema. – Gromer

1

Vai a [Strumenti> Opzioni> Essentials Web -> MENO] e impostare falso: "Auto-compilare i file dipendenti durante il salvataggio", "compilare i file durante il salvataggio" e "Crea origine mappa file"

0

Assicurarsi che tutti i file nel progetto salvati in + file bundle abbiano runOnBuild = true.

Elimina tutti i file generati dal Web essenziali.

Passare al check-in & annullare le modifiche solo al file di progetto.

Verificare le eliminazioni, quindi i file in eccesso vengono rimossi da tfs.

Questo ha funzionato per me su VS2013. Il recupero del progetto viene rigenerato durante la compilazione ma non tenta di aggiungere nuovamente a TFS. Il progetto di distribuzione include i file W.E poiché sono ancora referenziati dal progetto.

3

Ora è possibile, basta aggiungere "includeInProject": false al file compilerconfig.json

{ 
    "outputFile": "Assets/css/themes/Default.css", 
    "inputFile": "Assets/css/themes/Default.scss", 
    "includeInProject": false 
    }, 
Problemi correlati