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来命名。最近花了太多时间在家里。