Một sự thay thế cho sự lộn xộn của việc viết các quy tắc FxCop sẽ là sử dụng công cụ NDepend. Công cụ này cho phép viết Quy tắc mã trên C# LINQ truy vấnwhat we call CQLinq. Tuyên bố từ chối trách nhiệm: Tôi là một trong những nhà phát triển của công cụ
Nhiều hơn 200 code rules được đề xuất theo mặc định. Tùy chỉnh các quy tắc hiện tại hoặc tạo quy tắc của riêng bạn là đơn giản nhờ cú pháp nổi tiếng C# LINQ.
Làm thế nào để viết một công cụ phân tích mã cho vs2008 để ngăn chặn một cuộc gọi khuôn khổ cụ thể, chẳng hạn như GC.WaitForFullGCComplete() hoặc Application.DoEvents()
Đối với nhu cầu đặc biệt này, sau đây đơn giản CQLinq quy tắc là đủ (chú ý việc sử dụng AllowNoMatch() để làm công việc này cai trị trong mọi tình huống):
// <Name>Don't call these methods</Name>
warnif count > 0
from m in Methods
where m.IsUsing ("System.GC.WaitForFullGCComplete()".AllowNoMatch()) ||
m.IsUsing ("System.GC.WaitForFullGCComplete(Int32)".AllowNoMatch()) ||
m.IsUsing ("System.Windows.Forms.Application.DoEvents()".AllowNoMatch())
select m
truy vấn CQLinq thể được chỉnh sửa trực tiếp trong VisualStudio, và đưa ra kết quả ngay lập tức, với các cơ sở duyệt kết quả:

Hãy chính xác rằng những quy tắc có thể được xác nhận live in Visual Studio và tại Build thời gian quá trình, trong một generated HTML+javascript report.
Nguồn
2010-10-19 12:35:07
Tôi tìm thấy câu trả lời ở đây: http://nervoustych.com/blog/CategoryView,category,Coding,FxCop.aspx Người này sử dụng "bình thường" ghi đè Kiểm tra() phương pháp, sau đó trong trường hợp của một phương thức, lặp qua từng lệnh tìm kiếm cuộc gọi, sau đó khớp với cuộc gọi với tên đầy đủ. – Bill
liên kết này xuất hiện đã chết, có liên kết được cập nhật không? – Maslow
Đây là liên kết chết từ đường dẫn sau: https://web.archive.org/web/20090909101353/http://www.nervoustych.com/blog/CategoryView,category,Coding%2CFxCop.aspx – slolife