おーみんブログ

C#, ASP.NET Core, Unityが大好きです。

すべての警告をエラーとするTreatWarningsAsErrorsオプションを使ってみた。

はじめに

C#のお勉強として公式ドキュメントをのんびり眺めていたら、どうやら警告をエラー扱いに変更できるオプションがあるようだったので試してみました。

docs.microsoft.com

サンプル

例えば以下の場合などは警告が出ます(変数aが使用されていないため)。

class Program
{
    static void Main(string[] args)
    {
        int a = 1;  // 使用されていない変数
        int b = 5;

        Console.WriteLine(b);
    }
}

1.png

.csprojファイルへTreatWarningsAsErrorsオプションを入れてみます。

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>  <-- 追加
  </PropertyGroup>

</Project>

すると以下のように先ほど警告表示されていた内容がエラー表示になっていることが分かります(もちろんビルドも通りません)。 2.png

おわりに

まだまだ知らないオプションが多いので引き続き勉強していこうと思います!