问题描述
我有一个自定义 TagHelper,如文档中所述:A minimal Tag Helper
using Microsoft.AspNetCore.Razor.TagHelpers;
namespace mytagHelpers.TagHelpers
{
public class EmailTagHelper : TagHelper
{
public override void Process(TagHelperContext context,TagHelperOutput output)
{
output.TagName = "a"; // Replaces <email> with <a> tag
}
}
}
我在 _ViewImports.cshtml
中添加了我的 EmailTagHelper:
@addTagHelper *,mytagHelpers
并在 Razor 页面上使用它
<email></email>
但它不起作用。
解决方法
我的项目已将 Assembly Name
设置为 MyProject
。
文件MyProject.csproj
<PropertyGroup>
<AssemblyName>MyProject</AssemblyName>
</PropertyGroup>
因此,生成的程序集将具有文件名 MyProject.dll
为了使我的 EmailTagHelper
工作,我需要使用正确的程序集名称添加它:
@addTagHelper *,MyProject
它有效,尽管我的 EmailTagHelper
的父命名空间仍然是相同的 MyTagHelpers
。