我有一个包含自定义标签助手的核心类库。我想在核心Web应用程序中添加这个参考。引用ASP.NET核心类库
我右键单击Visual Studio中的项目,选择添加引用并浏览到该文件夹并选择该dll。
但是,当我尝试使用@addTagHelper
我得到:
Cannot resolve TagHelper containing assembly 'LC_PUBLIC_CORE'. Error: Could not load file or assembly 'LC_PUBLIC_CORE, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
我的代码:
LC_Public(类库)
namespace LC_PUBLIC_CORE.TagHelpers
{
[HtmlTargetElement("LC_meta")]
public class MetaTagHelper : TagHelper
{
private IHostingEnvironment _env;
[HtmlAttributeName("filename")]
public string Filename { get; set; } = "default.txt";
public MetaTagHelper(IHostingEnvironment env)
{
_env = env;
}
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.Content.SetContent(System.IO.File.ReadAllText(System.IO.Path.Combine(_env.WebRootPath, "META", this.Filename)));
}
}
}
ASP_NET_CORE_Standard(Web应用程序) - _ViewImports.cshtml
@using ASP_NET_CORE_Standard
@using LC_PUBLIC_CORE
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, LC_PUBLIC_CORE
是否需要添加其他代码?
你最后@addTagHelper线使用比第二最后一个不同的(和过时)格式。此外,通配符也完全不同。 @addTagHelper的第一个参数用于标签助手类名(全是'*'),第二个是标签助手所在的名称空间 – Tseng
@tseng我已经改变了格式,但仍然是相同的错误。如果我使用LC_PUBLIC_CORE.TagHelpers,则得到“**无法解析包含程序集的TagHelper'LC_PUBLIC_CORE.TagHelpers'**”,在引用上定义Copy Local = true也没有任何作用 – TheRuler
您是否在更改解决方案后重建了解决方案?有些东西没有立即被拾起(即EF核心模型变化和某些剃刀方面,即脚手架) – Tseng