如何让 ASP.Net 5 应用程序能够使用 class 库?

How do you make an ASP.Net 5 Application be able to consume class libraries?

第 1 步:打开 VS 2015 RC 并新建一个 "ASP.Net Web Application" 第二步:右击解决方案,添加一个新的windows "Class Library"(正常的,不是"Class Library (Package)"

第三步:将Class1.cs中的方法放入class库中。无所谓。

第 4 步:在 Web 项目中右键单击 "References" 并添加对 class 库的引用。

第 5 步:从 Web 项目的代码文件中,调用您在 Class1.cs

中创建的方法

所以对我来说,Class1.cs 看起来像这样:

public class Class1
{
    public void X()
    {

    }
}

然后我在 Web 应用程序中添加了如下代码:

        var x = new ClassLibrary1.Class1();
        x.X();

第六步:尝试编译,会报错:

错误 CS0246 找不到类型或命名空间名称 'ClassLibrary1'(是否缺少 using 指令或程序集引用?)

要使普通 class 库(我有很多)与 ASP.Net 5 个应用程序一起工作,必须做些什么?

下载您的项目并构建时,我在输出中收到以下错误:

C:\REDACTED\AspNet5Test\src\AspNet5Test\Startup.cs(26,25,26,38): DNX Core 5.0 error CS0246: The type or namespace name 'ClassLibrary1' could not be found (are you missing a using directive or an assembly reference?)

请注意,尤其是 DNX Core 5.0 部分 - .Net 4.5 库(例如您的 ClassLibrary1)与 .Net Core 不兼容。

最简单的解决方案是从 project.json 文件中删除对 dnxcore50 的依赖。

当前:

"frameworks": {
    "dnx451": {
        "dependencies": {
            "ClassLibrary1": "1.0.0-*"
        }
    },
    "dnxcore50": { }
},

更改为:

"frameworks": {
    "dnx451": {
        "dependencies": {
            "ClassLibrary1": "1.0.0-*"
        }
    }
},