2010-11-03 24 views
8

Ho un problema con StyleCop che mi sta facendo impazzire. Recentemente ho installato su una nuova macchina e ogni volta che vado a modificare il file impostazioni principali (sia tramite Visual Studio o l'editor StyleCop), sto ottenendo il seguente errore:Impossibile salvare il file di impostazioni StyleCop

The settings file could not be saved: Access to the path 'C:\Program Files (x86)\Microsoft StyleCop 4.4.1.1\Settings.StyleCop' is denied.

Se corro come VS un amministratore Posso modificare il file, ma in questo caso StyleCop for ReSharper non sembra riconoscere le modifiche alle regole. Ho disinstallato e reinstallato varie versioni con lo stesso risultato finale.

Qualche idea là fuori?

risposta

12

La modifica del file Settings.StyleCop nella directory di installazione di StyleCop è possibile, ma quasi sempre una cattiva idea.

Il modo migliore per andare su questo tipo di cose è modificare il file Settings.StyleCop nella directory del progetto. Credo che ne venga creato uno facendo clic con il tasto destro del mouse su un progetto e aprendo le impostazioni in questo modo.

Ciò che spesso accade è che si trovano le stesse identiche impostazioni in TUTTI i progetti e le impostazioni sono errate finché non si esegue questa procedura manuale di configurazione del progetto. Ecco come:

Dopo aver configurato un singolo progetto nel modo giusto, spostare il file Settings.StyleCop su una directory. Ora disponi delle impostazioni per la soluzione invece del solo progetto . Tutti i progetti nella soluzione avranno ora le stesse impostazioni! Ciò significa che ora puoi creare un file Settings.StyleCop a livello di progetto per qualsiasi progetto che non ha bisogno delle impostazioni "tipiche". Puoi anche fare un ulteriore passo avanti e spostare il file Settings.StyleCop fino alla "root di controllo del codice sorgente" (spesso almeno un livello superiore al livello della soluzione) e ora tutte le tue soluzioni avranno le stesse impostazioni.

+0

I miei 2 centesimi: aggiungi il file Settings.StyleCop ai tuoi "Elementi della soluzione" per assicurarti che entri nel controllo del codice sorgente - a meno che qualcuno verifichi la tua soluzione che era conforme a StyleCop "inizierebbe a ricevere gli avvisi che erano affrontato di nuovo – dotnetguy

+0

Oh, assolutamente. Avere come elemento risolutivo è la strada da percorrere. Sono davvero sorpreso di non averlo menzionato. – Task

+0

Ecco cosa ho fatto. Da 'C: \ Programmi (x86) \ StyleCop 4.7' ** 1) ** Ho copiato il file' Settings.StyleCop' nella mia "cartella root della soluzione". ** 2) ** Nelle impostazioni in VS-> StyleCop ho sottolineato che questo file come "directory padre" sembra salvare in "file di programma (x86)" come impostazione globale. ** 3) ** Ho aperto il file 'Settings.StyleCop' tramite File Explorer aprendolo attraverso VS-> StyleCop-> le impostazioni hanno troncato il file. ** 4) ** Ora posso aprire l'editor StyleCop e applicare le sue impostazioni ed eseguire StyleCop in VS ogni secondo giro finché non ho le impostazioni che mi piacciono. – LosManos

2

Questo non ha nulla a che fare con StyleCop. Vieni limitato dalla sicurezza di Windows poiché stai cercando di modificare qualcosa nella cartella Programmi. Di default StyleCop è impostato in modo tale che non sia necessario modificare quel file, mai.

+0

Grazie Jason, quindi quando vado al dialogo delle impostazioni di StyleCop, selezionare la scheda "Impostazioni file", quindi fare clic su "Modifica" per modificare le definizioni della macchina, stai dicendo che questo non dovrebbe essere fatto?Immagino tu stia dicendo la pratica corretta per configurare solo le impostazioni in base al progetto? –

3
  • clic destro del mouse sul progetto,
  • Impostazioni
  • Select StyleCop,
  • Spostarsi a 'Impostazione Files' scheda,
  • Selezionare 'Unisci con file di settings trovato in cartelle padre' e fare clic su Modifica,
  • Verrà visualizzato un messaggio di avviso.
  • Facendo clic su Sì, è possibile modificare il file StyleCop.settings.

Nota: si sta per modificare le impostazioni predefinite che vengono applicate a tutto il codice su cui viene eseguita questa installazione di StyleCop.

+0

Si noti che Settings.StyleCop è ora salvato (in genere) C: \ Programmi (x86) \ StyleCop 4.7. – LosManos

0

Tutte le altre risposte sembrano dirti "non farlo", ma se desideri che questa funzione funzioni, come ha risposto Jason, è una funzionalità di sicurezza in Windows che ti blocca.

Per risolvere il problema: Eseguire Visual Studio "come amministratore" per eliminare l'errore e consentire a Visual Studio di salvare un file nella directory dei file di programma.

Problemi correlati