Estoy intentando que msbuild muestre información de análisis de código como lo hace en VS. Tengo una configuración para mi proyecto llamada "CodeAnalysis" en VS que está configurada para ejecutar análisis de código en compilación (con el conjunto mínimo de reglas). De todos modos, esto funciona bien en VS, pero cuando ejecuto msbuild desde la línea de comandos solo muestra las advertencias básicas de compilación y no ejecuta ningún análisis de código. Alguien sabe por qué está pasando esto?RunCodeAnalysis = true no funciona en el símbolo del sistema (MSBuild)
de configuración en el archivo de proyecto:
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'CodeAnalysis|AnyCPU'">
<OutputPath>bin\</OutputPath>
<CodeAnalysisRuleSet>C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\Rule Sets\MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>true</RunCodeAnalysis>
Línea de comandos:
msbuild Solution.sln /p:Configuration=CodeAnalysis /t:Rebuild
También probé:
msbuild Solution.sln /p:RunCodeAnalysis=true /t:Rebuild
ejecute el registro de nivel de diagnóstico (/ fl/flp:v=diag;logfile=diag.log) y busque por qué se omite el objetivo RunCodeAnalysis. Se debe ejecutar como una dependencia de PrepareForRun que se ejecuta como una dependencia de CoreBuild. –
Comprueba si las propiedades $ (CodeAnalysisPath), $ (CodeAnalysisTargets) ya están configuradas y haciendo referencia a la ruta válida de herramientas de análisis de código, básicamente solo imprímelas dentro de un script – sll
@BrianKretzler Gracias por la sugerencia. ¿Hay algo en particular que debería estar buscando? Encontré lo siguiente: CoreBuildDependsOn = PrepareForRun; PrepareForRunDependsOn = RunCodeAnalysis; También noté que en la acción de corebuild dice: Tarea "CallTarget" omitida, debido a una condición falsa; ('$ (UnloadProjectsOnCompletion)' == 'true') se evaluó como ('falso' == 'verdadero') ..... ¿podría estar relacionado? –