2015-11-23 18 views
6

Niedawno zainstalowano programu Visual Sudio 2015 i był w stanie uruchomić analizy kodu dla roztworu za pomocą następującego polecenia:Visual Studio 2015 Code Analysis vs FxCopCmd.exe różnicy

msbuild.exe MySolution.sln /p:RunCodeAnalysis=true 

gdzie /p:RunCodeAnalysis=true przeprowadza analizę kodu. Właściwie to umożliwia wyświetlenie FxCopCmd.exe się w

C:\Program Files(x86)\Microsoft Visual Studio 14.0\Team Tools\Static AnalysisTools\FxCop\FxCopCmd.exe

Kodeksu Analiza miała zastąpić FxCop, ale faktycznie Code Analizy wykonuje się FxCopCmd.exe

Może brakuje czegoś, ale jaka jest różnica między Analiza kodu VS i FxCop?

Odpowiedz

10

Analiza kodu FxCop i VS to w zasadzie to samo. Korzystają z tego samego silnika analizy podstawowej (uruchamianego przez fxcopcmd.exe) i są dostarczane z tym samym zestawem podstawowych reguł. Poza różnicami UI główną różnicą między analizą kodu FxCop i VS jest to, że ta ostatnia zawiera dodatkowe reguły (w zespołach DataflowRules.dll, MaintainabilityRules.dll i ReliabilityRules.dll) oraz mechanizm analizy przepływu danych, który obsługuje podzbiór tych dodatkowych reguł.

+0

To ma sens, ale o ile widzę, kiedy wykonuję na przykład: 'msbuild.exe MySolution.sln/p: RunCodeAnalysis = true' (które rozpoczyna również analizę kodu), to faktycznie uruchamia' C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Narzędzia Team Tools \ StaticAnalysisTools \ FxCop \ FxCopCmd.exe. Czy to nie jest to samo, co wykonywanie bezpośrednio FxCop? –

+0

Nie jestem pewien czy o to pytasz ... MSBuild uruchamia 'fxcopcmd.exe' poprzez niestandardowe zadanie MSBuild zdefiniowane w zespole' fxcoptask.dll' (które prawdopodobnie znajdziesz w plikach C: \ Program (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ CodeAnalysis' folder). Całe to zadanie polega na skonstruowaniu wiersza polecenia dla 'fxcopcmd.exe 'poprzez przetłumaczenie właściwości MSBuild na argumenty przełączania wiersza poleceń. Z pewnością możesz ręcznie utworzyć tę samą linię poleceń, jeśli tak zdecydujesz. –

+1

To było to, co chciałem wiedzieć. Tak więc, albo wykonujemy analizę kodu, dodając do pliku .csproj '' RunCodeAnalysis> true LUB wykonując 'C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Team Tools \ Static AnalysisTools \ FxCop \ FxCopCmd.exe "z wiersza poleceń ma taki sam wynik. –