5

Trên máy chủ tích hợp liên tục của chúng tôi (Teamcity 5.1.3), chúng tôi có một tập lệnh msbuild tự động xây dựng các ứng dụng của chúng tôi.Làm cách nào để tắt "cảnh báo là lỗi" cho các tệp được tạo? (MSBuild)

Khi chúng tôi cho phép "Cảnh báo như lỗi": trong Visual Studio, nó xây dựng tốt (nó bỏ qua các phương pháp trong phạm vi "* designer.cs" file Nhưng trên máy chủ xây dựng, chúng tôi luôn nhận được lỗi sau:.

[(Rebuild target(s)):] somefile.Designer.cs(XX, XX): error CS1591: Warning as Error: Missing XML comment for publicly visible type or member... 

Các kịch bản MSBuild đang được sử dụng như sau:

<MSBuild Projects="proj\$(ProjectName).sln" 
     Targets="Clean;Rebuild" 
     Properties="Configuration=Release" 
     StopOnFirstFailure="True"> 
</MSBuild> 

tôi có thể hiểu tại sao nó lại làm vậy, nhưng phải có một cách để nói với msbuild bỏ qua thiếu chú thích trong tập tin được tạo

?

EDITED

Đào xa hơn một chút: Trong Giải pháp Visual Studio chúng tôi đã có "Cảnh báo như lỗi" kiểm tra nhưng chúng tôi cũng thêm lỗi 1591 được liệt kê trong "Suppress cảnh báo" textbox. MSBuild does'nt dường như nhận được rằng "ngăn chặn cảnh báo" hộp văn bản và không xây dựng. Bất cứ việc gì tôi có thể làm?

EDITED Again Vấn đề là MSBuild được nhắm mục tiêu bất kỳ CPU (và trong cấu hình "BẤT CỨ CPU" chúng tôi didnt đàn áp báo lỗi 1591). Một khi chúng tôi thay đổi BẤT CỨ CPU để loại trừ lỗi 1591 tất cả bắt đầu xây dựng một cách chính xác trên máy chủ xây dựng. Cảm ơn những người đã giúp.

Trả lời

3

Không, MSBuild không phải là cầu kỳ về các nhận xét XML. Dù bạn sử dụng công cụ phân tích mã nào. Đoán cái gì đó như StyleCop. Nó không phàn nàn về vấn đề chính xác này, nó không phải là rất thông minh, về ngang bằng với các mẫu dự án Windows Forms.

Bạn sẽ chỉ giải quyết vấn đề này nếu bạn thực thi cùng một loại quy tắc xây dựng trên devs khi bạn áp dụng cho máy chủ xây dựng. Bởi vì nó sẽ mất một trong số họ để chỉnh sửa mã không chỉnh sửa mà nó nằm trong một tệp Mumble.Designer.cs và áp dụng thuộc tính [GeneratedCode]. Nó không có ở đó.

Đó là vấn đề chính trị, một trong những điều tôi thực sự không thể giúp bạn. Các nhóm Microsoft cũng không làm việc này vào những thời điểm khác nhau và các tòa nhà khác nhau. Nhưng bạn có thể tin tưởng vào các devs sủa lớn nếu bạn yêu cầu họ giải quyết vấn đề.

Làm cho phù hợp.

+0

Tôi đã chỉnh sửa câu hỏi của mình để phản ánh thông tin mới mà tôi đã tìm thấy. Tôi vẫn còn một chút bối rối, câu trả lời của bạn đã giúp tôi đào đúng hướng. – Benoittr

+0

Thậm chí khó khăn câu trả lời không trả lời trực tiếp câu hỏi (và câu hỏi của tôi không hoàn toàn rõ ràng lúc đầu ... xem các chỉnh sửa) Tôi đã đi trước và chấp nhận câu trả lời của bạn vì bằng cách nào đó nó dẫn tôi đến câu trả lời tôi muốn. – Benoittr

2

Bạn có thể bỏ qua cảnh báo nhận xét bằng cách thêm thuộc tính sau trong msbuildcall: nowarn = "1591,1573".

<MSBuild Projects="proj\$(ProjectName).sln" 
    Targets="Clean;Rebuild" 
    Properties="Configuration=Release;nowarn=1591,1573" 
    StopOnFirstFailure="True"> 
</MSBuild> 
0

Đối với tôi, sự cố chỉ xảy ra trên dự án dll có tham chiếu dịch vụ SOAP. Khi tôi mở cài đặt dự án trên tab Được xây dựng, tôi nhận thấy hộp kiểm có tên "Tệp tài liệu XML" được chọn. Đó là lý do đằng sau việc buộc mọi thành viên tiếp xúc của dịch vụ SOAP phải có bình luận!

This checkbox enforces /doc option in my build settings

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