S? d?ng tính năng Code Analysis trong Visual Studio 2010

ID c?a bài: 2555845 - Xem s?n ph?m mà bài này áp d?ng vào.

V? tác gi?:

Thu g?n b?ng nàyBung r?ng b?ng này
Thu g?n h?nh ?nh nàyBung r?ng h?nh ?nh này
2401266
Bài vi?t này đư?c cung c?p b?i MVP [tên c?a b?n]. Microsoft chân thành c?m ơn nh?ng MVP đ? chia x? nh?ng kinh nghi?m chuyên môn c?a m?nh v?i nh?ng ngư?i s? d?ng khác. Bài vi?t này s? đư?c đăng trên website ho?c blog c?a MVP sau đây. N?u b?n mu?n xem các bài vi?t khác đư?c chia x? b?i MVP, vui l?ng nháy chu?t vào đây.
Bung t?t c? | Thu g?n t?t c?

? Trang này

Nh?ng tri?u ch?ng

Chương tr?nh c?a b?n sau khi vi?t và th?c thi b?ng cách b?m F5, nó đ? ch?y t?t và không phát sinh ra l?i. Tuy nhiên, sau khi tri?n khai trên máy tính c?a khách hàng, b?n b?t g?p m?i l?i mà chính b?n c?ng không bi?t r? nguyên nhân là g?, đi?u này gây ra nh?ng l?i không lư?ng trư?c đư?c và nguy hi?m. Trong trư?ng h?p nh?ng l?i đó là nh?ng l?i v? b?o m?t th? càng nguy hi?m hơn.

Nguyên nhân

M? ngu?n c?a b?n, sau khi b?n b?m F5, biên d?ch c?a b?n hoàn thành không có ngh?a là m? c?a b?n vi?t ra đ? không có l?i, nó ch? có ? ngh?a là m? ngu?n c?a b?n ch? ch?y t?t trên máy tính c?a b?n. N?u đưa m? ngu?n đó đư?c ch?y trên h? th?ng 64 bit, ho?c m?t máy tính c?u h?nh khác, b?n có b?o đ?m r?ng nó s? ch?y đúng y như trên máy tính c?a b?n khi b?n nh?n F5.

Gi?i pháp

Đây chính là lúc mà các bư?c phân tích m? (code analysis) s? giúp cho b?n. Code Analysis s? đư?c s? d?ng đ? phân tích các thành ph?n trong m?, và báo cáo b?t k? hành vi nào vi ph?m qui t?c thi?t k?. Nh?ng qui t?c này d?a vào thi?t k? c?a Microsoft .NET Framework. Có hơn 200+ qui t?c đư?c g?n kèm v?i Visual Studio 2010, đư?c chia thành các nhóm khác nhau. Các nhóm này sau đó đư?c chia thành các b? qui t?c khác nhau, có th? đư?c s? d?ng vào nh?ng v?n đ? đ?c bi?t khác nhau trong m?. Tính năng Code Analysis có s?n trong b? s?n ph?m Visual Studio 2010 Premium và Visual Studio 2010 Ultimate

Đ? bi?t thêm thông tin

Th?c thi Code Analysis

Code Analysis có th? đư?c c?u h?nh đ? ch?y t? đ?ng m?i khi b?n th?c hi?n biên d?ch m? ngu?n. Ngh?a làm m?i khi b?n b?m F5, quá tr?nh phân tích m? s? t? đ?ng th?c hi?n, ho?c là có th? quá tr?nh biên d?ch c?a b?n đư?c th?c hi?n t? đ?ng (S? d?ng Team Build Automation). Đ? th?c thi Code Analysis, b?n có th? tùy ch?nh trong IDE, ho?c c?u h?nh ? m?i l?n Check-in m? ngu?n.

K?t qu? c?a quá tr?nh phân tích m? đư?c hi?n th? trong c?a s? danh sách l?i. Theo m?c đ?nh, t?t c? các vi ph?m trong m? ngu?n đ?u đư?c hi?n th? ? d?ng c?nh báo (Warning), tuy nhiên chúng ta có th? thay đ?i c?u h?nh này.

Sau khi th?c hi?n Code Analysis, n?u b?n mu?n s?a các l?i đó th? có th? đi qua tr?nh t? theo danh sách đ? s?a. M?i qui t?c vi ph?m đ?u có mô t? chi ti?t, c?ng như t?p tin nào vi ph?m và d?ng m? nào vi ph?m qui t?c. B?n có th? s?a ch?a, ho?c có th? b? qua c?nh báo vi ph?m này (nó s? không xu?t hi?n l?n sau). Trư?ng h?p b?n mu?n s?a l?i, s? có hư?ng d?n chi ti?t các l?i và phương pháp s?a ch?a cho b?n, r?t c? th? và r? ràng.

Đ? th?c hi?n Code Analysis chúng ta làm nh?ng bư?c như sau:

R-Click vào Project Calctulator, Ch?n Properties, nó s? m? ra b?ng thi?t l?p c?u h?nh cho d? án c?a b?n, ch?n vào Tab Code Analysis:

Thu g?n h?nh ?nh nàyBung r?ng h?nh ?nh này
2555847


B?n ch?n vào Microsoft All Rule trong khung s? xu?ng, và ch?n Save

B?n có th? tùy ch?n c?u h?nh các qui t?c khác nhau cho Project c?a b?n d?a vào n?n t?ng b?n vi?t m?. Như bài trư?c, chúng ta đ? ch?n t?p “Microsoft All Rules” cho d? án c?a m?nh.

Phía trên cùng c?a c?a s? Code Analysis là hai tùy ch?n: Configuration Platform. ? m?c Configuration ch?a m?t danh sách các c?u h?nh khác nhau, như là Debug, Release, và All Configuration. Platform ch?a danh sách các n?n t?ng khác nhau cho vi?c biên d?ch, như X86 hay X64. M?i s? k?t h?p gi?a Configuration Platform có th? c?u h?nh riêng cho nó v? Code Analysis.

Khi b?n đánh d?u vào Enable Code Analysis, quá tr?nh phân tích m? s? đư?c th?c hi?n m?i l?n biên d?ch. V? v?y, m?i l?n nh?n F5 đ? th?c hi?n biên d?ch ?ng d?ng, m? phân tích s? đư?c th?c hi?n bên trong. Theo m?c đ?nh th? tùy ch?n này không đư?c đánh d?u.

M?c đánh d?u Suppress results from generated code m?c đ?nh đư?c ch?n, nó cho phép b? qua các m? do h? th?ng t? phát sinh trong quá tr?nh th?c hi?n phân tích m?, đi?u này hoàn toàn đúng v? các m? c?a h? th?ng t?o ra thư?ng đ? đư?c t?i ưu hóa theo qui t?c c?a Microsoft.

Cu?i cùng b?n ch?n Save.

Đ? ch?y phân tích m?, b?n R-Click vào Project c?n ch?y, ? đây là Calculator, ch?n Static Code Analysis. Lúc này m? ngu?n c?a Project s? đư?c biên d?ch và ki?m tra, k?t qu? phân tích s? đư?c hi?n th? như h?nh dư?i.

Thu g?n h?nh ?nh nàyBung r?ng h?nh ?nh này
2560110



Đó là nh?ng khuy?n cáo theo nh?ng nguyên t?c mà Microsoft đưa ra. V?i vi?c b?o đ?m nh?ng nguyên t?c này, b?n s? b?o đ?m cho ?ng d?ng c?a b?n đư?c ki?m tra m?t cách đ?y đ? trong quá tr?nh vi?t m?.

Tuyên b? Không ch?u trách nhi?m N?i dung Gi?i pháp C?ng đ?ng

CÔNG TY MICROSOFT VÀ/HO?C CÁC NHÀ CUNG C?P C?A H? KHÔNG B?O Đ?M V? TÍNH PHÙ H?P, Đ? TIN C?Y HO?C TÍNH CHÍNH XÁC C?A THÔNG TIN VÀ H?NH ?NH LIÊN QUAN ? ĐÂY. M?I THÔNG TIN VÀ H?NH ?NH NHƯ V?Y ĐƯ?C CUNG C?P “NHƯ NGUYÊN M?U” MÀ KHÔNG CÓ B?T K? B?O Đ?M NÀO. MICROSOFT VÀ/HO?C CÁC NHÀ CUNG C?P C?A H? KHÔNG CH?U TRÁCH NHI?M Đ?I V?I M?I B?O Đ?M VÀ ĐI?U KI?N V? THÔNG TIN VÀ H?NH ?NH LIÊN QUAN NÀY, BAO G?M C? M?I B?O Đ?M VÀ ĐI?U KI?N LIÊN QUAN V? TÍNH THƯƠNG M?I, PHÙ H?P CHO M?T M?C ĐÍCH Đ?C BI?T, N? L?C C?A CÔNG VI?C, TƯ CÁCH VÀ CAM K?T KHÔNG VI PH?M. B?N Đ?NG ? M?T CÁCH C? TH? LÀ KHÔNG CÓ TRƯ?NG H?P NÀO MÀ MICROSOFT VÀ/HO?C CÁC NHÀ CUNG C?P C?A H? B? RÀNG BU?C VÀO B?T K? THI?T H?I TR?C TI?P, GIÁN TI?P, TR?NG PH?T, T?NH C?, Đ?C BI?T, H? QU? HO?C B?T K? THI?T H?I D?NG NÀO, BAO G?M NHƯNG KHÔNG GI?I H?N THI?T H?I DO M?T MÁT, D? LI?U HO?C L?I ÍCH, X?Y RA HO?C TRONG M?I CÁCH LIÊN QUAN Đ?N VI?C S? D?NG HO?C KHÔNG TH? S? D?NG THÔNG TIN VÀ H?NH ?NH LIÊN QUAN CÓ ? ĐÂY, DÙ LÀ D?A VÀO H?P Đ?NG, L?I GÂY THI?T H?I, SƠ SU?T, NGH?A V? PHÁP L? HO?C B?T K? CƠ S? NÀO KHÁC, NGAY C? N?U MICROSOFT HO?C B?T K? NHÀ CUNG C?P NÀO C?A H? Đ? ĐƯ?C TƯ V?N V? KH? NĂNG B? THI?T H?I.

Thu?c tính

ID c?a bài: 2555845 - L?n xem xét sau cùng: 18 Tháng Sáu 2013 - Xem xét l?i: 2.1
Áp d?ng
  • Microsoft Visual Studio 2010 Professional
  • Microsoft Visual Studio 2010 Premium with MSDN
T? khóa: 
kbprb kbtshoot kbstepbystep kbgraphxlink kbmvp KB2555845

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com