web-dev-qa-db-ja.com

#pragma警告の無効化と復元

私はc#を使用して最初のプロジェクトを作成しました。多くの警告エラーがあり、これらすべての警告エラーは単一のエラー(内部コンパイラエラーです。詳細については、コンソールログを参照してください)です。

警告エラーを減らすために、#pragma Warning disableを使用しました。 #pragma warning問題のあるコードの前後を復元します。

私の最終ビルドでは、#pragma警告を無効にしてプログラムにあるままにしておく必要があるかどうか疑問に思っています。それとも削除する必要がありますか?例えば:

#pragma warning disable
if (Displayer.instance != null && CTR.Tore== "Keepit")
{
    Displayer.instance.SetFielderProfile (i);
}
#pragma warning restore

最終的なビルドでは、それを削除する必要があるかどうか。

28
SaravanaKumar

少なくとも、意図的に無視するように選択した警告を具体的に示す必要があります。そうすることで、後のメンテナンスで「新しい」警告/問題が発生し、そのことを知っておく必要がある場合、新しく導入されたエラーに関する警告は、ブランケットプラグマ警告無効化ディレクティブによって抑制されません。

Visual Studioのビルド出力ウィンドウから、無視することにしたビルドの問題に関する警告番号を取得できます。通常、「警告CS0168 ....」または同様のラベルが付けられます。その場合は、無視することにしたこれらのエラーのみを具体的に対象にすることができます。

#pragma warning disable 168, 3021

    //Your code that generates warnings CS0168 and CS3021 here

#pragma warning restore 168, 3021
47
Deleted

それが実用的な値のコードである場合は、警告を出さず、すべての警告をオンにして「エラーとしての警告」設定でコンパイルする必要があります。

あなたが示しているコードは、それ自体にエラーがあるようには見えません。したがって、プラグマが必要な理由はわかりません。

しかし、それは本当にあなたの呼び出しです-あなたのコードであり、誰もそれを使用/検索/支払う必要がない場合-あなたのために機能するものを何でもしてください。

6
Alexei Levenkov

私のasp.net mvc(.net core)アプリケーションでこのエラーが発生しました。上記および他の記事に基づいて、このエラーはchtml側のcシャープコードに起因することを示しています。

問題を特定するには、コンソールを開くか、別のウィンドウでcshtmlを開きます。

このエラーが発生するポップアップがあり、このポップアップを個別に開いて、コンソールにエラーを投資しているときに、cshtmlにないセミコロンが1つあるので、chtmlをレンダリングしているときにエラーがスローされます。

0
Ajay2707