Cảnh báo là lỗi - Cách loại bỏ những lỗi này


91

Tôi không thể tìm ra cách để loại bỏ các lỗi về cơ bản không nên tạm dừng quá trình biên dịch của tôi trong Visual Studio 2010 và không nên hiển thị các nút chặn , hoặc ít nhất tôi sẽ sửa chúng sau, nhưng tôi không muốn biên dịch chỉ bị lỗi và tạm dừng những loại vấn đề này.

Ví dụ: tôi gặp lỗi sau:

Lỗi 1 Cảnh báo là Lỗi: Nhận xét XML trên 'ScrewTurn.Wiki.SearchEngine.Relevance.Finalize (float)' có thẻ paramref cho 'IsFinalized', nhưng không có tham số nào có tên đó C: \ www \ Wiki \ Screwturn3_0_2_509 \ SearchEngine \ Relevance.cs 60 70 SearchEngine

cho mã này:

  /// <summary>
  /// Normalizes the relevance after finalization.
  /// </summary>
  /// <param name="factor">The normalization factor.</param>
  /// <exception cref="InvalidOperationException">If <paramref name="IsFinalized"/> is <c>false</c> (<see cref="M:Finalize"/> was not called).</exception>
  public void NormalizeAfterFinalization(float factor) {
      if (factor < 0)
          throw new ArgumentOutOfRangeException("factor", "Factor must be greater than or equal to zero");

      if (!isFinalized)
          throw new InvalidOperationException("Normalization can be performed only after finalization");
      value = value * factor;
  }

Tôi đã xem trong menu Công cụ -> Tùy chọn và tôi không thấy nơi tôi có thể chỉnh sửa trình biên dịch và yêu cầu nó không phải lo lắng về lỗi dựa trên nhận xét hoặc XHTML.


11
"Chỉ cần sửa mã," không phải là câu hỏi đang đặt ra.
orfdorf

Câu trả lời:


153

Mỗi dự án trong Visual Studio có tùy chọn "coi cảnh báo là lỗi". Xem qua từng dự án của bạn và thay đổi cài đặt đó:

  1. Nhấp chuột phải vào dự án của bạn, chọn "Thuộc tính".
  2. Nhấp vào "Xây dựng".
  3. Chuyển "Coi cảnh báo là lỗi" từ "Tất cả" thành "Cảnh báo cụ thể" hoặc "Không có".

Vị trí của công tắc này khác nhau, tùy thuộc vào loại dự án (ví dụ: thư viện lớp so với ứng dụng web).


1
Sheesh thật là một nơi để che giấu điều đó. Tôi đã tìm khắp mọi nơi nhưng trong dự án.
nportelli

1
Có ai biết giải pháp mới cho VS2012 không?
bobble14988,

1
Giải pháp tương tự trong VS2012, @ bobble14988.
Michael Petrotta

6
@ bobble14988 Trong VS2012, bạn có thể tìm thấy cấu hình đó trong Thuộc tính dự án-> C / C ++ -> Chung
Hanan N.

1
Tôi tự hỏi tại sao VS 2017 không tôn trọng sự thay đổi từ Tất cả thành Không. Tôi đã lật nó, lưu mọi thứ, dọn dẹp, xây dựng lại, thoát VS, dọn dẹp, xây dựng lại ad nauseam nhưng cảnh báo vẫn là lỗi. tệp csproj đang sử falsedụng cho cài đặt đó. Cái quái gì mà dai dẳng thế này ??? Tôi bỏ cuộc trước khi các nhà phát triển MS có khả năng đưa ra lỗi vượt trội.
ajeh

13

Đối với Visual Studio Express 2013 để loại bỏ những vấn đề này, bạn phải làm như sau.

Nhấp chuột phải vào dự án của bạn, nhấp vào Thuộc tính. Trong cửa sổ thuộc tính từ menu bên trái, chọn Thuộc tính cấu hình-> C / C ++ -> Chung

Ở bên phải chọn

Coi cảnh báo là lỗi KHÔNG

Kiểm tra SDL KHÔNG


1
Vô hiệu hóa SDL Checkslàm việc cho tôi trên Visual Studio 2015. (Tôi đã có một cảnh báo deprecation coi là một lỗi)
Kevin Smyth

6

Câu trả lời hàng đầu là lỗi thời cho Visual Studio 2015.

Tiếng Anh:

Configuration Properties -> C/C++ -> General -> Treat Warning As Errors

Tiếng Đức:

Konfigurationseigenschaften -> C/C++ -> Allgemein -> Warnungen als Fehler behandeln

Hoặc sử dụng hình ảnh này làm tài liệu tham khảo, cách dễ dàng hơn để nhanh chóng tìm ra vị trí:

nhập mô tả hình ảnh ở đây


1

Bạn có thể kiểm soát hành vi trong tệp tiêu đề hoặc tệp C:

#pragma warning(error:4003) //not enough actual parameters for macro

chưa được thử nghiệm với Visual studio 2015. Tôi có một tệp tiêu đề phổ biến 'khiếu nại_adaption.h' cho những thứ như vậy, được bao gồm trong tất cả các tệp, để thiết lập hành vi này cho tất cả các dự án của tôi được biên dịch trên visual studio.


1

Để coi tất cả các cảnh báo trình biên dịch là lỗi biên dịch

  1. Với một dự án được chọn trong Giải pháp Explorer, trên menu Dự án, bấm Thuộc tính.
  2. Bấm vào tab Biên dịch. (hoặc Tab Xây dựng có thể ở đó)
  3. Chọn hộp kiểm Coi tất cả cảnh báo là lỗi. (hoặc chọn cài đặt bản dựng và thay đổi cài đặt "coi cảnh báo là lỗi" thành đúng.)

và nếu bạn muốn thoát khỏi nó

Để tắt tất cả cảnh báo trình biên dịch

  1. Với một dự án được chọn trong Giải pháp Explorer, trên menu Dự án, bấm Thuộc tính.
  2. Bấm vào tab Biên dịch. (hoặc Tab Xây dựng có thể ở đó)
  3. Chọn hộp kiểm Tắt tất cả cảnh báo. (hoặc chọn cài đặt bản dựng và thay đổi cài đặt "coi cảnh báo là lỗi" thành sai.)

0

Trong Thuộc tính,

Đi tới Thuộc tính cấu hình. Trong đó, chuyển đến C / C ++ (hoặc một cái gì đó tương tự). , Sau đó nhấp vào Chung, Trong đó bỏ chọn hộp kiểm "Xử lý cảnh báo là lỗi"


0

VS 2019

Chỉ dành cho những người sử dụng VS2019, tôi nghĩ rằng các câu trả lời khác cũng chỉ ra cùng một vị trí.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.