Peringatan sebagai kesalahan - Bagaimana menghapus ini

93

Saya tidak tahu bagaimana cara menghilangkan kesalahan yang pada dasarnya seharusnya tidak menghentikan kompilasi saya di Visual Studio 2010 dan tidak boleh menunjukkan penghenti, atau setidaknya saya akan memperbaikinya nanti, tetapi saya tidak ingin kompilasi hanya kesalahan dan menghentikan masalah semacam ini.

Misalnya, saya mendapatkan kesalahan berikut:

Kesalahan 1 Peringatan sebagai Kesalahan: Komentar XML pada 'ScrewTurn.Wiki.SearchEngine.Relevance.Finalize (float)' memiliki tag paramref untuk 'IsFinalized', tetapi tidak ada parameter dengan nama itu C: \ www \ Wiki \ Screwturn3_0_2_509 \ SearchEngine \ Relevance.cs 60 70 SearchEngine

untuk kode ini:

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

Saya melihat di menu Tools -> Options , dan saya tidak melihat di mana saya dapat men-tweak compiler dan memberitahukannya untuk tidak khawatir tentang kesalahan berbasis komentar atau XHTML.

PositiveGuy
sumber
12
"Perbaiki saja kodenya," bukanlah pertanyaan yang diajukan.
orfdorf

Jawaban:

156

Setiap proyek di Visual Studio memiliki opsi "perlakukan peringatan sebagai kesalahan". Telusuri setiap proyek Anda dan ubah pengaturan itu:

  1. Klik kanan pada proyek Anda, pilih "Properties".
  2. Klik "Bangun".
  3. Alihkan "Perlakukan peringatan sebagai kesalahan" dari "Semua" ke "Peringatan spesifik" atau "Tidak ada".

Lokasi sakelar ini bervariasi, bergantung pada jenis proyek (perpustakaan kelas vs. aplikasi web, misalnya).

Michael Petrotta
sumber
1
Sungguh tempat yang luar biasa untuk menyembunyikan itu. Saya mencari kemana-mana kecuali dalam proyek.
nportelli
1
Apakah ada yang tahu solusi baru untuk VS2012?
bobble14988
1
Solusi yang sama di VS2012, @ bobble14988.
Michael Petrotta
6
@ bobble14988 Dalam VS2012 Anda dapat menemukan konfigurasi itu di bawah Properti proyek-> C / C ++ -> Umum
Hanan N.
1
Saya bertanya-tanya mengapa VS 2017 tidak menghormati perubahan dari All menjadi None. Saya membaliknya, menyimpan semuanya, membersihkan, membangun kembali, keluar dari VS, membersihkan, membangun kembali ad mual tetapi peringatan masih kesalahan. File csproj menggunakan falsepengaturan itu. Dimana sih ini terus salah ??? Saya menyerah sebelum kemampuan unggul MS devs untuk memperkenalkan bug.
ajeh
13

Untuk Visual Studio Express 2013 untuk menghilangkan masalah ini, Anda harus melakukan hal berikut ini.

Klik kanan pada proyek Anda, klik Properties. Di jendela properti dari menu kiri pilih Configuration Properties-> C / C ++ -> General

Di sebelah kanan pilih

Perlakukan Peringatan Sebagai Kesalahan NO

dan

SDL Memeriksa NO

Saleh Enam Shohag
sumber
1
Penonaktifan SDL Checksberhasil untuk saya di Visual Studio 2015. (Saya memiliki peringatan penghentian diperlakukan sebagai kesalahan)
Kevin Smyth
6

Jawaban teratas sudah usang Visual Studio 2015.

Inggris:

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

Jerman:

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

Atau gunakan gambar ini sebagai referensi, cara lebih mudah untuk mengetahui lokasi secara mental dengan cepat:

masukkan deskripsi gambar di sini

lama12345
sumber
1

Anda dapat mengontrol perilaku di file header atau C-file:

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

belum diuji dengan Visual studio 2015. Saya memiliki headerfile umum 'compl_adaption.h' untuk hal-hal seperti itu, termasuk dalam semua file, untuk mengatur perilaku ini untuk semua proyek saya yang dikompilasi di studio visual.

Hartmut Schorrig
sumber
1

Untuk memperlakukan semua peringatan kompilator sebagai kesalahan kompilasi

  1. Dengan proyek yang dipilih di Solution Explorer, pada menu Project, klik Properties.
  2. Klik tab Kompilasi. (atau Build Tab mungkin ada di sana)
  3. Pilih kotak centang Perlakukan semua peringatan sebagai kesalahan. (atau pilih setelan build dan ubah setelan "perlakukan peringatan sebagai kesalahan" menjadi benar.)

dan jika Anda ingin menyingkirkannya

Untuk menonaktifkan semua peringatan kompiler

  1. Dengan proyek yang dipilih di Solution Explorer, pada menu Proyek klik Properties.
  2. Klik tab Kompilasi. (atau Build Tab mungkin ada di sana)
  3. Pilih kotak centang Nonaktifkan semua peringatan. (atau pilih setelan build dan ubah setelan "perlakukan peringatan sebagai kesalahan" menjadi salah.)
Alfa Thakkar
sumber
0

Di Properti,

Buka Properti Konfigurasi. Dalam pergi ke C / C ++ (atau sesuatu seperti itu). , Kemudian klik Umum, Di mana hilangkan centang di Kotak Centang "Perlakukan Peringatan Sebagai Kesalahan"

Paroda
sumber
0

VS 2019

Hanya untuk orang yang menggunakan VS2019, saya pikir jawaban lain juga menunjukkan lokasi yang sama.

Yoon5oo
sumber