Tôi nhận được cảnh báo này: "Thiếu nhận xét XML cho loại hoặc thành viên hiển thị công khai".
Làm thế nào để giải quyết điều này?
Tôi nhận được cảnh báo này: "Thiếu nhận xét XML cho loại hoặc thành viên hiển thị công khai".
Làm thế nào để giải quyết điều này?
Câu trả lời:
5 lựa chọn:
#pragma warning disable 1591
để vô hiệu hóa cảnh báo chỉ đối với một số bit mã (và #pragma warning restore 1591
sau đó)Thêm các bình luận XML cho các loại và các thành viên hiển thị công khai tất nhiên :)
///<Summary>
/// Gets the answer
///</Summary>
public int MyMethod()
{
return 42;
}
Bạn cần những <summary>
bình luận kiểu này cho tất cả các thành viên - những điều này cũng hiển thị trong menu bật lên intellisense.
Các lý do bạn nhận được cảnh báo này là bởi vì bạn đã thiết lập dự án của bạn để tập tin xml tài liệu đầu ra (trong các thiết lập dự án). Điều này rất hữu ích cho các thư viện lớp (tập hợp dll), điều đó có nghĩa là người dùng của bạn đang nhận được tài liệu intellisense cho API của bạn ngay tại phòng thu trực quan.
Tôi khuyên bạn nên lấy cho mình một bản sao của GhostDoc Visual Studio AddIn .. Làm cho việc ghi chép tài liệu dễ dàng hơn nhiều.
GhostDoc
- AddOn ngu ngốc nhất tôi từng thấy. Nó tạo ra tài liệu. Bây giờ tạm dừng một giây để suy nghĩ về nó. Bạn muốn mã của bạn dễ hiểu hơn vì vậy bạn sử dụng một công cụ tạo tài liệu chỉ dựa trên tên phương thức và các loại đối số. Liệu nó có ý nghĩa đối với bạn? Người dùng có thể xem tên và loại đối số, thêm nhận xét vào DateTime date
- Ngày thực sự không có ích.
Bỏ qua các cảnh báo cho các bình luận XML
(không phải công việc của tôi, nhưng tôi thấy nó hữu ích vì vậy tôi đã bao gồm bài viết & liên kết)
http://bernhardelbl.wordpress.com/2009/02/23/suppress-warnings-for-xml-comments/
Ở đây tôi sẽ chỉ cho bạn, làm thế nào bạn có thể ngăn chặn các cảnh báo cho các nhận xét XML sau khi xây dựng Visual Studio.
Lý lịch
Nếu bạn đã kiểm tra dấu "tệp tài liệu XML" trong cài đặt dự án Visual Studio, một tệp XML chứa tất cả các nhận xét XML sẽ được tạo. Ngoài ra, bạn sẽ nhận được rất nhiều cảnh báo trong các tệp do nhà thiết kế tạo, do các nhận xét XML bị thiếu hoặc sai. Mặc dù đôi khi các cảnh báo giúp chúng tôi cải thiện và ổn định mã của mình, việc nhận được hàng trăm cảnh báo nhận xét XML chỉ là một nỗi đau. Cảnh báo
Thiếu nhận xét XML cho loại hoặc thành viên hiển thị công khai Nhận xét XML về Máy tính có thẻ param cho '' ', nhưng không có tham số nào có tên đó là Thông số' mật 'không có thẻ param phù hợp trong nhận xét XML cho' '' (nhưng các tham số khác làm) Giải pháp
Bạn có thể chặn mọi cảnh báo trong Visual Studio.
Bấm chuột phải vào dự án Visual Studio / Properties / Build Tab
Chèn các số cảnh báo sau vào "Cảnh báo đàn áp": 1591,1572,1571,1573,1587,1570
Có một cách khác để bạn có thể chặn các tin nhắn này mà không cần bất kỳ thay đổi mã hoặc khối pragma nào. Sử dụng Visual Studio - Chuyển đến thuộc tính dự án> Xây dựng> Lỗi và Cảnh báo> Cảnh báo loại bỏ - nối 1591 vào danh sách mã cảnh báo.
#pragma warning disable
ở khắp mọi nơi, điều này thật khó chịu.
Chèn một nhận xét XML. ;-)
/// <summary>
/// Describe your member here.
/// </summary>
public string Something
{
get;
set;
}
Điều này có thể xuất hiện như một trò đùa từ cái nhìn đầu tiên, nhưng nó thực sự có thể hữu ích. Đối với tôi, nó trở nên hữu ích để suy nghĩ về những phương pháp làm ngay cả đối với các phương thức riêng tư (tất nhiên trừ khi thực sự tầm thường).
Điều này là do tệp tài liệu XML đã được chỉ định trong Thuộc tính dự án của bạn và Phương thức / Lớp của bạn là công khai và thiếu tài liệu.
Bạn có thể:
Nhấp chuột phải vào Dự án của bạn -> Thuộc tính -> tab 'Xây dựng' -> bỏ chọn Tệp Tài liệu XML.
Tóm tắt tài liệu XML như sau:
/// <summary>
/// Description of the class/method/variable
/// </summary>
..declaration goes here..
Tôi muốn thêm một cái gì đó vào câu trả lời được liệt kê ở đây:
Như Isak đã chỉ ra, tài liệu XML rất hữu ích cho các Thư viện lớp, vì nó cung cấp thông tin trực tiếp cho bất kỳ người tiêu dùng nào trong Visual Studio. Do đó, một giải pháp dễ dàng và chính xác là chỉ cần tắt tài liệu cho bất kỳ dự án cấp cao nào (như UI, v.v.), sẽ không được thực hiện bên ngoài dự án của chính nó.
Ngoài ra, tôi muốn chỉ ra rằng cảnh báo chỉ thể hiện trên các thành viên hiển thị công khai . Vì vậy, nếu bạn thiết lập thư viện lớp của mình để chỉ hiển thị những gì nó cần, bạn có thể nhận được mà không cần tài liệu private
và internal
các thành viên.
Tôi biết đây là một chủ đề thực sự cũ, nhưng đó là phản hồi đầu tiên trên google nên tôi nghĩ tôi đã thêm một chút thông tin
này : Hành vi này chỉ xảy ra khi mức cảnh báo được đặt thành 4 trong "Thuộc tính dự án" -> "Xây dựng" . Trừ khi bạn thực sự cần nhiều thông tin, bạn có thể đặt thành 3 và bạn sẽ thoát khỏi những cảnh báo này. Tất nhiên, việc thay đổi mức cảnh báo không chỉ ảnh hưởng đến bình luận, vì vậy vui lòng tham khảo tài liệu nếu bạn không chắc chắn mình sẽ thiếu gì:
https://msdn.microsoft.com/en-us/l Library / thxezb7y.aspx
Trong giải pháp của bạn, khi bạn kiểm tra tùy chọn tạo tệp Tài liệu XML, nó sẽ bắt đầu kiểm tra các thành viên công khai của bạn, để có XMLDoc, nếu không, bạn sẽ nhận được cảnh báo cho mỗi phần tử. nếu bạn không thực sự muốn phát hành DLL của mình và sau đó bạn không cần tài liệu, hãy đi đến giải pháp của bạn, xây dựng phần và tắt nó đi, nếu không bạn cần nó, vì vậy hãy điền chúng và nếu không quan trọng thuộc tính và trường, chỉ cần vượt qua chúng với hướng dẫn tiền biên dịch
#pragma warning disable 1591
bạn cũng có thể khôi phục cảnh báo:
#pragma warning restore 1591
Sử dụng pragma: bất kỳ vị trí nào trong mã trước vị trí bạn nhận được cảnh báo trình biên dịch cho ... (đối với tệp, đặt nó trong tiêu đề và bạn không cần phải bật lại, đối với lớp đơn bao quanh một lớp hoặc cho phương thức bao quanh một phương thức, hoặc ... bạn không cần phải bọc nó, bạn có thể gọi nó và khôi phục nó một cách tình cờ (bắt đầu trong tập tin và kết thúc bên trong một phương thức)), viết mã này:
#pragma warning disable 1591
và trong trường hợp bạn cần khôi phục nó, hãy sử dụng:
#pragma warning restore 1591
Dưới đây là một ví dụ:
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using RealEstate.Entity.Models.Base;
namespace RealEstate.Models.Base
{
public class CityVM
{
#pragma warning disable 1591
[Required]
public string Id { get; set; }
[Required]
public string Name { get; set; }
public List<LanguageBasedName> LanguageBasedNames { get; set; }
[Required]
public string CountryId { get; set; }
#pragma warning restore 1591
/// <summary>
/// Some countries do not have neither a State, nor a Province
/// </summary>
public string StateOrProvinceId { get; set; }
}
}
Lưu ý rằng chỉ thị pragma bắt đầu ở đầu dòng
Đặt mức cảnh báo thành 2 sẽ chặn thông báo này. Không biết đó có phải là giải pháp tốt nhất vì nó cũng ngăn chặn các cảnh báo hữu ích.
Câu trả lời của Jon Skeet hoạt động rất tốt khi bạn xây dựng với VisualStudio. Tuy nhiên, nếu bạn đang xây dựng sln thông qua dòng lệnh (trong trường hợp của tôi là thông qua Ant) thì bạn có thể thấy rằng msbuild bỏ qua các yêu cầu siêu thanh sln.
Thêm phần này vào dòng lệnh msbuild đã giải quyết vấn đề cho tôi:
/p:NoWarn=1591
Tệp > Chỉnh sửa > Xem dự án (bấm)
Phần dưới cùng của cung thả xuống (nhấp vào Mở / Công việc hiện tại > Thuộc tính ), trang thuộc tính dự án đã mở tại "Xây dựng" trong "Đầu ra". "Bỏ chọn" hộp kiểm Tài liệu XML .
Xây dựng lại và không có cảnh báo.
Bạn cần thêm /// Nhận xét cho thành viên để hiển thị cảnh báo.
xem mã dưới đây
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}
Nó hiển thị cảnh báo Thiếu bình luận XML cho loại hoặc thành viên hiển thị công khai '.EventLogger ()'
Tôi thêm bình luận cho các thành viên và cảnh báo đi.
///<Summary>
/// To write a log <Anycomment as per your code>
///</Summary>
public EventLogger()
{
LogFile = string.Format("{0}{1}", LogFilePath, FileName);
}