ASP.NET Core MVC - @addTagHelperは名前空間ではなくアセンブリ名を指定する

タグヘルパーを作ってみていきなりハマったのでもメモしておきます。

@addTagHelperディレクティブでタグヘルパーを使えるようにしますが、このときに指定するのは名前空間ではなくアセンブリ名です。

例えば次のようなTagHelperを作ったとして、

// アセンブリはWebAppとして
namespace WebApp.TagHelpers {
    // 適当なタグヘルパー
    public class SampleTagHelper : TagHelper {
        public override void Process(TagHelperContext context, TagHelperOutput output) {
            // 何かする
        }
    }
}

これをビューで使うためには次のようにアセンブリ名を指定します。

@* アセンブリ名を指定する *@
@addTagHelper *, WebApp

@*
こうではない
@addTagHelper *, WebApp.TagHelpers
@*

名前空間を指定してもエラーにならないようで小一時間悩みました。

参考

ASP.NET Core のタグ ヘルパー作成 | Microsoft Docs