2009-02-17 31 views
15

Tôi đã nghiên cứu về cách bật phân tích nguồn cho dự án mà tôi đang làm việc và dự định sử dụng StyleCop. Các thiết lập tôi có là một máy chủ TFS để kiểm soát nguồn, sử dụng TFS Continuous Integration. Tôi muốn cho phép phân tích nguồn cho các bản dựng CI và các bản xây dựng hàng ngày chạy trên máy xây dựng, và không chỉ cho các máy chạy trên các máy của nhà phát triển.Cách tốt nhất để tích hợp StyleCop với TFS CI

Đây là một bài viết từ tài liệu của StyleCop mà tôi đã đọc về chủ đề: http://blog.newagesolution.net/2008/07/how-to-use-stylecop-and-msbuild-and.html. Về cơ bản nó sửa đổi tệp csproj cho mục đích.

Tôi cũng đã đọc ý kiến ​​khác về cách StyleCop nên được tích hợp với xây dựng tự động hóa, mà khuyên làm điều tương tự sử dụng xây dựng các nhiệm vụ:

http://blog.newagesolution.net/2008/07/how-to-use-stylecop-and-msbuild-and.html http://freetodev.spaces.live.com/blog/cns!EC3C8F2028D842D5!400.entry.

Bạn có ý kiến ​​gì? Bạn đã có các dự án tương tự và thực hiện một cái gì đó như thế này?

Trả lời

30

Một số điểm cho việc sử dụng StyleCop nói chung:

  • Bạn không cần phải có cài đặt StyleCop trên của bạn (hoặc xây dựng) Máy - chỉ cần thêm mã nhị phân StyleCop để kiểm soát nguồn của bạn (khoảng 1,5 MB thứ)
  • Sau đó, chỉ cần thêm tài liệu tham khảo liên quan đến hồ sơ dự án của bạn, như thế này (tôi rời ra < và>):

    dự án nhập khẩu =" .. \ .. \ lib \ Microsoft StyleCop \ Microsoft.StyleCop. Nhắm mục tiêu "

  • Chúng tôi xử lý tất cả cảnh báo StyleCop là lỗi khi sử dụng cài đặt StyleCopTreatErrorsAsWarnings trong tệp dự án.

  • Đối với các dự án cũ, bạn có thể sử dụng công cụ do Microsoft cung cấp để tự động đặt tất cả các tệp nguồn hiện có để bỏ qua.
  • Bạn có thể đặt tệp cài đặt StyleCop (Settings.StyleCop) vào thư mục gốc nơi giải pháp VS của bạn (và tất nhiên là đặt nó dưới sự kiểm soát nguồn). StyleCop biết cách tự động tìm tệp này (bằng cách đưa lên cây thư mục). Bằng cách này, bạn có thể có cài đặt tùy chỉnh cho từng giải pháp.
  • Chúng tôi đã tắt một số quy tắc StyleCop nhất định mà chúng tôi cho là không thực tế lắm.

Bằng cách này, StyleCop sẽ được tích hợp trong bước biên dịch của bạn và vì vậy nó sẽ trở thành một phần của quá trình xây dựng CI.

+0

Chính xác thì nhóm của tôi thực hiện điều này như thế nào. Chúng tôi không quan tâm đến các thay đổi .csproj, nó giúp chúng tôi thêm các chức năng và nhiệm vụ tùy chỉnh khác trên đường đi. –

+1

Dường như có gói nuget cho mục này ngay bây giờ! : D –

+6

Để tham khảo, gói NuGet là [StyleCop.MSBuild] (http://www.nuget.org/packages/StyleCop.MSBuild/) –

2

Chúng tôi sử dụng phương pháp này trong các bài viết sau thành công trên một vài dự án ...

http://blogs.msdn.com/sourceanalysis/pages/source-analysis-msbuild-integration.aspx http://blogs.msdn.com/sourceanalysis/archive/2008/11/11/introducing-stylecop-on-legacy-projects.aspx

về cơ bản bạn thiết lập một vài biến môi trường lên, tham khảo chúng trong tất cả các file csproj để bạn có thể phục vụ cho các thư mục làm việc khác nhau cho từng nhà phát triển cá nhân, hãy cài đặt các thành phần StyleBop MSBuild trên máy xây dựng và bạn đã tắt. Không yêu cầu thay đổi đối với nhóm xây dựng.

1

Đi tới Visual Studio, nhấp chuột phải vào Giải pháp> Quản lý gói Nuget> Cài đặt StyleCop.MSBuild.

Đó là nó =)

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