【ASP.NET Core Web】UseEndpointsのASP0014違反をなんとかする

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【ASP.NET Core Web】UseEndpointsのASP0014違反をなんとかする

2024-1-5 | , ,
200px200px

.NETのWEBアプリケーションでProgram.csUseEndpointsの部分で警告されるASP0014をなんとかしたい!

概要

今回の記事では、.NETのWEBアプリケーションでProgram.csUseEndpointsの部分で警告されるASP0014をなんとかする手順を掲載する。

仕様書

環境

  • .NET 7.0

手順書

.NETのWEBアプリケーションのProgram.csで「RazorPage」やら「MVC」の設定の部分で「ASP0014」が表示されるようになった。具体的なコードは下記のような感じ。

    public class Program
    {
        public static void Main(string[] args)
        {
            ...

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
            });

            ...
        }
    }

「ASP0014」についてはMicrosoftのページによると

「最上位レベルのルート登録の使用を提案する」ということで、サンプルを確認するとUseEndpointsを使わずにappからMapRazorPagesMapControllerRouteを呼び出せるようになったのでそうしろ!的な感じ。

下記は前述のコードを修正したコード。

    public class Program
    {
        public static void Main(string[] args)
        {
            ...

            app.MapRazorPages();
            app.MapControllerRoute(
                name: "default",
                pattern: "{controller=Home}/{action=Index}/{id?}"
            );

            ...
        }
    }

シンプルに書けるようになってスッキリ。

まとめ(感想文)

いつの間にかStartup.csがなくなってProgram.cs1本になったのに気がついた今日この頃。