引用ASP.NET核心类库

时间:2017-04-18 11:28:27

标签: c# asp.net-mvc asp.net-core

我有一个包含自定义标记助手的核心类库。我想在Core Web Application中添加它作为参考。

我在Visual Studio中右键单击该项目,选择Add Reference并浏览到该文件夹​​并选择dll。

但是当我尝试使用@addTagHelper时,我得到了:

  

无法解析包含程序集的TagHelper' LC_PUBLIC_CORE'。错误:无法加载文件或程序集' LC_PUBLIC_CORE,Culture = neutral,PublicKeyToken = null'。系统找不到指定的文件。

我的代码:

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 (网络应用程序) - _ViewImports.cshtml

@using ASP_NET_CORE_Standard
@using LC_PUBLIC_CORE
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, LC_PUBLIC_CORE

我是否需要添加任何其他代码?

1 个答案:

答案 0 :(得分:0)

我通过创建新的解决方案并将两个项目添加到解决方案中来实现它。然后在ASP_NET_CORE_Standard中添加了对LC_PUBLIC_CORE项目的引用。

<强> _ViewImports.cshtml

@using ASP_NET_CORE_Standard
@using LC_PUBLIC_CORE
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, LC_PUBLIC_CORE