คำเตือนเป็นข้อผิดพลาด - วิธีกำจัดสิ่งเหล่านี้


93

ฉันไม่สามารถหาวิธีกำจัดข้อผิดพลาดที่โดยพื้นฐานแล้วไม่ควรหยุดการคอมไพล์ของฉันในVisual Studio 2010และไม่ควรเป็นตัวหยุดการแสดงมิฉะนั้นฉันจะแก้ไขในภายหลัง แต่ฉันไม่ต้องการให้คอมไพล์เกิดข้อผิดพลาดและ หยุดปัญหาประเภทนี้

ตัวอย่างเช่นฉันได้รับข้อผิดพลาดต่อไปนี้:

ข้อผิดพลาด 1 คำเตือนเป็นข้อผิดพลาด: ความคิดเห็น XML บน 'ScrewTurn.Wiki.SearchEngine.Relevance.Finalize (float)' มีแท็กพารามิเตอร์สำหรับ 'IsFinalized' แต่ไม่มีพารามิเตอร์ตามชื่อ C: \ www \ Wiki \ Screwturn3_0_2_509 \ SearchEngine \ ความเกี่ยวข้อง c 60 70 SearchEngine

สำหรับรหัสนี้:

  /// <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;
  }

ฉันดูในเมนูเครื่องมือ -> ตัวเลือกและฉันไม่เห็นว่าฉันสามารถปรับแต่งคอมไพเลอร์ได้ที่ไหนและบอกว่าไม่ต้องกังวลกับความคิดเห็นหรือข้อผิดพลาดจาก XHTML


12
"เพียงแก้ไขโค้ด" ไม่ใช่สิ่งที่ถาม
orfdorf

คำตอบ:


156

แต่ละโครงการใน Visual Studio มีตัวเลือก "ถือว่าคำเตือนเป็นข้อผิดพลาด" ผ่านแต่ละโครงการของคุณและเปลี่ยนการตั้งค่าดังกล่าว:

  1. คลิกขวาที่โครงการของคุณเลือก "คุณสมบัติ"
  2. คลิก "สร้าง"
  3. เปลี่ยน "ปฏิบัติต่อคำเตือนเป็นข้อผิดพลาด" จาก "ทั้งหมด" เป็น "คำเตือนเฉพาะ" หรือ "ไม่มี"

ตำแหน่งของสวิตช์นี้แตกต่างกันไปขึ้นอยู่กับประเภทของโปรเจ็กต์ (ไลบรารีคลาสเทียบกับเว็บแอปพลิเคชันเป็นต้น)


1
ซ่อนสิ่งที่ซ่อนอยู่ ฉันมองไปทุกที่ แต่อยู่ภายใต้โครงการ
nportelli

1
มีใครรู้วิธีแก้ปัญหาใหม่สำหรับ VS2012 บ้าง?
bobble14988

1
วิธีแก้ปัญหาเดียวกันใน VS2012, @ bobble14988
Michael Petrotta

6
@ bobble14988 ใน VS2012 คุณจะพบการกำหนดค่านั้นภายใต้คุณสมบัติของโครงการ -> C / C ++ -> ทั่วไป
Hanan N.

1
ฉันสงสัยว่าทำไม VS 2017 ถึงไม่ยอมรับการเปลี่ยนแปลงจากทั้งหมดเป็นไม่มี ฉันพลิกมันบันทึกทุกอย่างทำความสะอาดสร้างใหม่ออกจาก VS ทำความสะอาดสร้างความสะอิดสะเอียนโฆษณาใหม่ แต่คำเตือนยังมีข้อผิดพลาด csproj กำลังค้นหาfalseการตั้งค่านั้น นี่มันผิดตรงไหน ??? ฉันยอมแพ้ก่อน MS devs ความสามารถที่เหนือกว่าในการแนะนำจุดบกพร่อง
ajeh

13

สำหรับ Visual Studio Express 2013 เพื่อกำจัดปัญหาเหล่านี้คุณต้องทำดังต่อไปนี้

คลิกขวาที่โครงการของคุณคลิกคุณสมบัติ ในหน้าต่างคุณสมบัติจากเมนูด้านซ้ายเลือก คุณสมบัติการกำหนดค่า -> C / C ++ -> ทั่วไป

ทางด้านขวาให้เลือก

ถือว่าคำเตือนเป็นข้อผิดพลาด NO

และ

SDL ตรวจสอบ NO


1
การปิดใช้งานSDL Checksได้ผลสำหรับฉันใน Visual Studio 2015 (ฉันมีคำเตือนการเลิกใช้งานถือว่าเป็นข้อผิดพลาด)
Kevin Smyth

6

Visual Studio 2015คำตอบด้านบนล้าสมัยสำหรับ

อังกฤษ:

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

เยอรมัน:

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

หรือใช้ภาพนี้เป็นข้อมูลอ้างอิงวิธีที่ง่ายกว่าในการค้นหาตำแหน่งทางจิตใจอย่างรวดเร็ว:

ป้อนคำอธิบายภาพที่นี่


1

คุณสามารถควบคุมพฤติกรรมในไฟล์ส่วนหัวหรือไฟล์ C:

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

ยังได้รับการทดสอบด้วย Visual studio 2015 ฉันมีไฟล์ส่วนหัวทั่วไป 'Compl_adaption.h' สำหรับสิ่งต่างๆดังกล่าวรวมอยู่ในไฟล์ทั้งหมดเพื่อตั้งค่าลักษณะการทำงานนี้สำหรับโปรเจ็กต์ทั้งหมดของฉันที่รวบรวมใน Visual Studio


1

เพื่อถือว่าคำเตือนของคอมไพเลอร์ทั้งหมดเป็นข้อผิดพลาดในการคอมไพเลอร์

  1. เมื่อเลือกโปรเจ็กต์ใน Solution Explorer บนเมนูโปรเจ็กต์คลิกคุณสมบัติ
  2. คลิกแท็บคอมไพล์ (หรือแท็บสร้างอาจอยู่ที่นั่น)
  3. เลือกกล่องกาเครื่องหมายถือว่าคำเตือนทั้งหมดเป็นข้อผิดพลาด (หรือเลือกการตั้งค่าการสร้างและเปลี่ยนการตั้งค่า "ถือว่าคำเตือนเป็นข้อผิดพลาด" เป็นจริง)

และถ้าคุณต้องการกำจัดมัน

เพื่อปิดใช้งานคำเตือนของคอมไพเลอร์ทั้งหมด

  1. เมื่อเลือกโปรเจ็กต์ใน Solution Explorer บนเมนูโปรเจ็กต์คลิกคุณสมบัติ
  2. คลิกแท็บคอมไพล์ (หรือแท็บสร้างอาจอยู่ที่นั่น)
  3. เลือกกล่องกาเครื่องหมายปิดใช้งานคำเตือนทั้งหมด (หรือเลือกการตั้งค่าการสร้างและเปลี่ยนการตั้งค่า "ถือว่าคำเตือนเป็นข้อผิดพลาด" เป็นเท็จ)

0

ในคุณสมบัติ

ไปที่คุณสมบัติการกำหนดค่า จากนั้นไปที่ C / C ++ (หรืออะไรทำนองนั้น) จากนั้นคลิกทั่วไปจากนั้นให้นำเครื่องหมายถูกออกในช่องทำเครื่องหมาย "ถือว่าคำเตือนเป็นข้อผิดพลาด"


0

VS 2019

สำหรับคนที่ใช้ VS2019 ฉันคิดว่าคำตอบอื่น ๆ ก็ชี้ไปที่ตำแหน่งเดียวกันเช่นกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.