Asp.net core _ViewImports无法解析包含自定义标记帮助程序的程序集

Asp.net core _ViewImports无法解析包含自定义标记帮助程序的程序集,asp.net-core,asp.net-core-mvc,Asp.net Core,Asp.net Core Mvc,内置的Microsoft.AspNetCore.Mvc.TagHelpers工作正常,但是,每当我尝试导入已生成的自定义标记帮助程序时,调试时会出现以下错误: 我试图从asp.net核心项目根目录下构建的类以及asp.net核心项目外部类库中构建的类中导入这两个类。以下是与自定义标记帮助器相关的代码: RepeatTagHelper.cs(在ASP.NET核心项目根目录中) using Microsoft.AspNetCore.Razor.TagHelpers; using System.Th

内置的
Microsoft.AspNetCore.Mvc.TagHelpers
工作正常,但是,每当我尝试导入已生成的自定义标记帮助程序时,调试时会出现以下错误:

我试图从asp.net核心项目根目录下构建的类以及asp.net核心项目外部类库中构建的类中导入这两个类。以下是与自定义标记帮助器相关的代码:

RepeatTagHelper.cs(在ASP.NET核心项目根目录中)

using Microsoft.AspNetCore.Razor.TagHelpers;
using System.Threading.Tasks;

namespace mvc_form
{
    /// <summary>
    /// <repeat count-of-things="5">HTML</repeat>
    /// </summary>
    public class RepeatTagHelper : TagHelper
    {
        public int CountOfThings { get; set; }

        public async override Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            for (var i = 0; i < CountOfThings; i++)
            {                
                output.Content.AppendHtml(await output.GetChildContentAsync(useCachedResult: false));
            }
        }
    }
}  
using System.Threading.Tasks;
using Microsoft.AspNetCore.Razor.TagHelpers;

namespace core_resources.TagHelpers
{
    /// <summary>
    /// <repeat count-of-things="5">HTML</repeat>
    /// </summary>
    public class RepeatTagHelper : TagHelper
    {
        public int CountOfThings { get; set; }

        public async override Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            for (var i = 0; i < CountOfThings; i++)
            {
                output.Content.AppendHtml(await output.GetChildContentAsync(useCachedResult: false));
            }
        }
    }
}  
@using mvc_form
@using mvc_form.Models
@using mvc_form.Models.AccountViewModels
@using mvc_form.Models.ManageViewModels
@using Microsoft.AspNetCore.Identity
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, mvc_form  
@using mvc_form
@using mvc_form.Models
@using mvc_form.Models.AccountViewModels
@using mvc_form.Models.ManageViewModels
@using Microsoft.AspNetCore.Identity
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, core_resources.TagHelpers  
\u ViewImports.cshtml(当引用类库中定义的标记帮助程序时)

using Microsoft.AspNetCore.Razor.TagHelpers;
using System.Threading.Tasks;

namespace mvc_form
{
    /// <summary>
    /// <repeat count-of-things="5">HTML</repeat>
    /// </summary>
    public class RepeatTagHelper : TagHelper
    {
        public int CountOfThings { get; set; }

        public async override Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            for (var i = 0; i < CountOfThings; i++)
            {                
                output.Content.AppendHtml(await output.GetChildContentAsync(useCachedResult: false));
            }
        }
    }
}  
using System.Threading.Tasks;
using Microsoft.AspNetCore.Razor.TagHelpers;

namespace core_resources.TagHelpers
{
    /// <summary>
    /// <repeat count-of-things="5">HTML</repeat>
    /// </summary>
    public class RepeatTagHelper : TagHelper
    {
        public int CountOfThings { get; set; }

        public async override Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            for (var i = 0; i < CountOfThings; i++)
            {
                output.Content.AppendHtml(await output.GetChildContentAsync(useCachedResult: false));
            }
        }
    }
}  
@using mvc_form
@using mvc_form.Models
@using mvc_form.Models.AccountViewModels
@using mvc_form.Models.ManageViewModels
@using Microsoft.AspNetCore.Identity
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, mvc_form  
@using mvc_form
@using mvc_form.Models
@using mvc_form.Models.AccountViewModels
@using mvc_form.Models.ManageViewModels
@using Microsoft.AspNetCore.Identity
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, core_resources.TagHelpers  

我已将完整解决方案添加到

,使用您当前的设置,生成的.dll文件名为:
core resources.dll

因此,您需要通过以下方式进行注册:

@addTagHelper *, core-resources
@addTagHelper *, core_resources
或者为
核心资源
项目定义自定义的
outputName

 "buildOptions": {
        "outputName": "core_resources"
    },
然后以这种方式使用这个新名称:

@addTagHelper *, core-resources
@addTagHelper *, core_resources

使用当前设置,生成的.dll文件名为:
core resources.dll

因此,您需要通过以下方式进行注册:

@addTagHelper *, core-resources
@addTagHelper *, core_resources
或者为
核心资源
项目定义自定义的
outputName

 "buildOptions": {
        "outputName": "core_resources"
    },
然后以这种方式使用这个新名称:

@addTagHelper *, core-resources
@addTagHelper *, core_resources

您是否引用了web项目中的类库项目?I Have:line 49您是否引用了web项目中的类库项目?I Have:line 49非常感谢您的帮助!这确实令人困惑,因为Visual Studio在所有名称空间中将破折号替换为下划线,并且
\u ViewImports
中的所有using语句都使用下划线约定。我想我应该用PascalCase来命名。最近在安格尔花了太多时间。非常感谢你的帮助!这确实令人困惑,因为Visual Studio在所有名称空间中将破折号替换为下划线,并且
\u ViewImports
中的所有using语句都使用下划线约定。我想我应该用PascalCase来命名。最近花了太多时间在家里。