Domanda

Dopo l'aggiornamento a VS 2010 MSBUILD / p: RunCodeAnalysis = TRUE non funziona come previsto

msbuild solution.sln /p:RunCodeAnalysis=true

Per ottenere più velocemente costruisce abbiamo rimosso la costante CODE_ANALYSIS per il build di debug. Ma questo significa Thet quando si esegue il comando MSBuild sopra, valori di default per tutte le regole, invece di utilizzare il set di regole abbiamo specificato in sulla scheda "analisi del codice" nella pagina delle proprietà del progetto.

Così ora ho bisogno di costruire in modalità di rilascio per eseguire codice analasis (che ha definito la costante CODE_ANALYSIS):

msbuild solution.sln /p:RunCodeAnalysis=true /p:Configuration=release

Questo significa però otteniamo una build di rilascio sulle nostre macchine dev. E questo ha alcuni effetti collaterali nel nostro setup.

Domanda: Come faccio a specificare il rulset da una riga di comando. Speravo qualcosa di simile:

msbuild solution.sln /p:RunCodeAnalysis=true /p:foobar=rules.ruleset
È stato utile?

Soluzione

Si dovrà utilizzare la proprietà CodeAnalysisRuleSet.

msbuild solution.sln /p:RunCodeAnalysis=true;CodeAnalysisRuleSet=GlobalizationRules.ruleset

Ecco l'elenco set di regole predefinite:

  • AllRules.ruleset
  • BasicCorrectnessRules.ruleset
  • BasicDesignGuidelineRules.ruleset
  • ExtendedCorrectnessRules.ruleset
  • ExtendedDesignGuidelineRules.ruleset
  • GlobalizationRules.ruleset
  • MinimumRecommendedRules.ruleset
  • SecurityRules.ruleset
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top