How to Make ASP.Net 5 Reference Normal .Net Class 库不在你的解决方案中

How to Make ASP.Net 5 Reference Normal .Net Class Library that is not in your solution

之前我问过 this question 并得到了有效的答案。为了使您的 ASP.Net 5 应用程序能够引用以 .Net Framework 4.5 为目标的普通 .Net class 库,您必须从中删除“"dnxcore50": { }”引用你的 project.json 文件。

太棒了。这适用于一个简单的 Class 图书馆项目,但什么也没做。

现在我正尝试使用更复杂的 class 库来完成。 Class 引用其他 NuGet 包的库(例如 HtmlAgilityPack)和相同的技术不起作用。

这很令人沮丧。我有点傻眼,简单地引用一个 class 库在 ASP.Net.

的新版本中不再有效

似乎已删除的 "features" 之一是能够为不在您的解决方案中的项目引用已编译的 DLL。 "Browse" 按钮从 ASP.Net 5 项目的“添加引用”对话框中消失:

而 classic 项目仍然有浏览按钮:

为什么?如何引用我机器上的 class 库,但我不想包含在我的项目中?

要在您的计算机上而不是在您的解决方案中引用 DLL,you'll need to update the project.json as follows

{
    "frameworks" : 
    {
        "dnx451" : 
        {
            "bin" : { "assembly": "<path to dll>", "pdb": "<path to pdb if needed>" }
        }
    }
}

不幸的是,许多 dnx 工具尚未集成到 VS2015 中(团队是独立的,并且两者变化太快以至于无法很好地跟上彼此),并且 the Asp.net documentation is still a work in progress.