2011-10-21 17 views
9
public class MultiSomething { } //CA1704:IdentifiersShouldBeSpelledCorrectly 

Khi tôi chạy Phân tích mã, tôi gặp lỗi vì Microsoft không nhận ra từ 'Đa' (xem hình họ sử dụng từ IMultiValueConverter). Vì vậy, những gì tôi đã làm để sửa lỗi này là thêm một tệp CodeAnalysisDictionary.xml và làm theo các bước được cung cấp here. Tuy nhiên, dường như không giải quyết được tình huống, tôi vẫn nhận được thông báo cảnh báo Phân tích Mã.CA1704 - Microsoft có vẻ đang chặn từ 'Đa'?

Để đảm bảo rằng đây không phải là lỗi với phần từ được công nhận, tôi đã thêm một lớp khác và một ngoại lệ khác.

public class MultiSomething { } //CA1704:IdentifiersShouldBeSpelledCorrectly 
public class MutiiSomething { } //NO WARNING 

<Dictionary> 
    <Words> 
    <Recognized> 
     <Word>Multi</Word> <-- This seems to not do anything... --> 
     <Word>Mutii</Word> <-- This actually does something... --> 
    </Recognized> 
    </Words> 
</Dictionary> 

Cách khác để sửa chữa nó là sử dụng SuppressMessage, mặc dù đó không phải là giải pháp phù hợp nếu tôi định sử dụng từ này khắp nơi.

[SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Multi")] 
public class MultiSomething { } //NO WARNING (Suppressed) 

Microsoft có thực sự chặn 'nhiều' không được thêm vào từ được công nhận không?

Trả lời

13

Bạn có thể tham khảo điều này feedback ticket. Điều này rõ ràng là do thiết kế.

Hành vi bạn thấy là do Phân tích mã phân phối với từ điển tùy chỉnh được xác định trước luôn ghi đè bất kỳ từ điển tùy chỉnh nào khác khi có xung đột. Trong trường hợp này "đa" được liệt kê là một từ không được công nhận > trong từ điển FXCop mặc định.

Để khắc phục sự cố này, hãy mở từ điển mặc định% VS Cài đặt thư mục% \ Team Tools \ Công cụ phân tích tĩnh \ FxCop \ CustomDictionary.xml và nhận xét hoặc loại bỏ mục nhập "đa" từ phần < không được công nhận >; "đa" sẽ không còn bị gắn cờ là lỗi chính tả trong Phân tích mã.

+0

Đáng buồn là các vé được liệt kê là "Sẽ không Fix" ... dường như nó không phải là "quan trọng đủ" mặc dù đó là một sửa chữa 2 giây. –

+1

Ngay cả khi họ muốn sửa chữa nó, đó là một thay đổi đột phá, vì nhiều người có thể hiện đang dựa vào thực tế là "đa" không được công nhận theo mặc định. – RobSiklos

+0

Tôi đã nhập điều này làm yêu cầu UserVoice - bỏ phiếu !! http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6772021 – RobSiklos

0

thử thêm này để customdictionary bạn

<Deprecated> 
    <Term PreferredAlternate="Multi">multi</Term> 
</Deprecated> 
Các vấn đề liên quan