2015-11-23 46 views
6

Gần đây tôi đã cài đặt Visual Sudio năm 2015 và đã có thể chạy phân tích mã cho giải pháp với lệnh sau:Visual Studio 2015 Mã Phân tích vs FxCopCmd.exe chênh lệch

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

nơi /p:RunCodeAnalysis=true thực hiện việc phân tích mã. Thực ra đây gọi FxCopCmd.exe nằm ở

Phân tích

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

Mã đã có nghĩa là để thay thế FxCop, nhưng trên thực tế Mã Phân tích thực hiện tự FxCopCmd.exe

Có lẽ tôi bỏ lỡ một cái gì đó, nhưng sự khác biệt giữa những gì là Phân tích mã VS và FxCop?

Trả lời

10

Phân tích mã FxCop và VS về cơ bản là giống nhau. Họ sử dụng cùng một công cụ phân tích lõi (được kích hoạt thông qua fxcopcmd.exe) và gửi cùng một bộ quy tắc cốt lõi. Ngoài sự khác biệt về giao diện người dùng, sự khác biệt chính giữa FxCop và VS Code là bao gồm một số quy tắc bổ sung (trong các hội đồng DataflowRules.dll, MaintainabilityRules.dllReliabilityRules.dll), cùng với một công cụ phân tích dữ liệu hỗ trợ một tập hợp con các quy tắc bổ sung này.

+0

Điều đó có ý nghĩa, nhưng theo như tôi thấy, khi tôi thực thi ví dụ: 'msbuild.exe MySolution.sln/p: RunCodeAnalysis = true' (cũng bắt đầu phân tích mã), điều này thực sự bắt đầu' C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Team Công cụ \ StaticAnalysisTools \ FxCop \ FxCopCmd.exe' lệnh. Điều này không giống như thực hiện FxCop trực tiếp? –

+0

Không chắc chắn những gì bạn đang yêu cầu ở đây ... MSBuild khởi chạy 'fxcopcmd.exe' thông qua một nhiệm vụ MSBuild tùy chỉnh, được định nghĩa trong phần' fxcoptask.dll' (có thể bạn sẽ tìm thấy trong tập tin 'C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ Thư mục CodeAnalysis'). Tất cả nhiệm vụ này là xây dựng một dòng lệnh cho 'fxcopcmd.exe' bằng cách dịch các thuộc tính MSBuild thành các đối số chuyển dòng lệnh. Bạn chắc chắn có thể xây dựng cùng một dòng lệnh bằng tay nếu bạn chọn. –

+1

Đây là những gì tôi muốn biết. Vì vậy, hoặc là chúng tôi thực thi phân tích mã bằng cách thêm ' true' vào tệp .csproj HOẶC thi hành 'C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Team Tools \ Static AnalysisTools \ FxCop \ FxCopCmd.exe' từ dòng lệnh sẽ có kết quả tương tự. –

Các vấn đề liên quan