班级图书馆与班级的区别ASP.NETvNext类库?

时间:2014-09-10 12:08:55

标签: c# class-library asp.net-core

Class Library&之间有什么区别? ASP.NETvNext Class Library个项目?从VS 14 CTP中的项目创建开始,类库似乎根本没有改变,而ASP.NETvNext类库'包括新的project.json文件。但是,它是否具有与ASP.NETvNext相关的任何好处尚不清楚?

这个link表示这个ASP.NETvNext库项目的编译是动态的。这两者之间是否存在其他差异?

1 个答案:

答案 0 :(得分:7)

另一个优点是vNext项目在构建时输出nuget-packages,而pre-vNext类库仅输出DLL。如果在project.json文件中指定多个目标框架,则构建中的nuget-package将包含为所有这些目标框架构建的DLL。

这里的一个例子是project.json:

{
    "dependencies": {
        "Microsoft.Framework.DependencyInjection": "1.0.0-*",
        "System.Linq": "4.0.0.0",
    },
    "frameworks": {
        "net45": {},
        "aspnetcore50": {}
    }
}

如果从类库项目文件夹运行“kpm build”命令,它将输出包含以下文件的nuget-package。

lib/aspnetcore50/ProjectName.dll
lib/aspnetcore50/ProjectName.xml
lib/net45/ProjectName.dll
lib/net45/ProjectName.xml

当您从其他项目引用此类库时,它将使用正确的DLL,具体取决于它所需的目标框架。