gpt4 book ai didi

c# - 添加自定义标签助手

转载 作者:太空狗 更新时间:2023-10-30 00:23:29 25 4
gpt4 key购买 nike

我一直在尝试添加自定义标签助手,但当我尝试将程序集添加为 _ViewImports.cshtml 中的引用时,它无法识别它。

我正在这样做 (_ViewImports.cshtml):

@using ProjectName.Web.Main
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, TagHelpers

我也试过:

@addTagHelper *, ProjectName.Web.Main.TagHelpers

我的标签助手如下:

using Microsoft.AspNetCore.Razor.TagHelpers;
namespace ProjectName.Web.Main.TagHelpers
{
[HtmlTargetElement(Attributes="class")]
public class CssClassTagHelper : TagHelper
{
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.Attributes.Add(new TagHelperAttribute("class","testing"));

}
}
}

但是当我运行该应用程序时,出现以下异常:

Cannot resolve TagHelper containing assembly 'TagHelpers'. Error: Could not load file or assembly 'TagHelpers, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified. @addTagHelper *, TagHelpers

我已经用谷歌搜索过了,但我在不同的 dotnetcore 版本之间得到了混合的答案,到目前为止我还没有找到任何解决方案。

我正在使用 RC2。

有什么想法、建议吗?

最佳答案

根据 Asp.Net Core 文档:

To expose all of the Tag Helpers in this project (which creates an assembly named AuthoringTagHelpers), you would use the following:

@using AuthoringTagHelpers 
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper "*, AuthoringTagHelpers"

换句话说,addTagHelper 的第二个参数是程序集名称,而不是命名空间。

所以你应该在 _ViewImports.cshtml 中使用 ProjectName.Web.Main(我假设你的项目名称是):

@using ProjectName.Web.Main
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, ProjectName.Web.Main

关于c# - 添加自定义标签助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37899984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com