MS'de olduğu gibi çıktı kodu analiz bilgisine msbuild almaya çalışıyorum. Yapılandırmada (minimum kural kümesiyle) kod analizini çalıştırmak için ayarlanmış VS'de "CodeAnalysis" adlı projem için bir yapılandırmam var. Neyse, bu VS'de iyi çalışıyor, ancak komut satırından msbuild'i çalıştırdığımda, yalnızca temel yapı uyarılarını gösterir ve hiç kod analizi çalıştırmaz. Bunun neden olduğunu bilen varmı? Proje dosyasındaRunCodeAnalysis = true komut isteminde çalışmıyor (MSBuild)
Yapılandırma:
<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>
Komut satırı: Ben de denedim
msbuild Solution.sln /p:Configuration=CodeAnalysis /t:Rebuild
: Sen yüklü Visual Studio olması gerekir
msbuild Solution.sln /p:RunCodeAnalysis=true /t:Rebuild
Tanılama düzeyi günlüğe kaydetme (/ fl /flp:v=diag;logfile=diag.log) ile çalıştırın ve RunCodeAnalysis hedefinin neden atlandığını araştırın. CoreBuild'in bağımlılığı olarak çalışan PrepareForRun'un bağımlılığı olarak çalıştırılmalıdır. –
$ (CodeAnalysisPath), $ (CodeAnalysisTargets) özelliklerinin geçerli kod çözümleme aracı yolunu zaten belirleyip belirlemediğini kontrol edin, temel olarak sadece bir komut dosyasının içine yazdırın – sll
@BrianKretzler İpucu için teşekkürler. Özellikle aramam gereken bir şey var mı? Aşağıdakileri buldum: CoreBuildDependsOn = PrepareForRun; PrepareForRunDependsOn = RunCodeAnalysis; Ayrıca, corebuild eyleminde şunları yazıyor: Görev "CallTarget", yanlış durum nedeniyle atlandı; ('$ (UnloadProjectsOnCompletion)' == 'doğru') ('yanlış' == 'doğru') olarak değerlendirildi ..... bu ilişkili olabilir? –