代码之家  ›  专栏  ›  技术社区  ›  Ali

类库和ASP.NETvNext类库之间的区别?

  •  5
  • Ali  · 技术社区  · 10 年前

    两者之间有什么区别 Class Library & ASP.NETvNext Class Library 项目?从中的项目创建 VS 14 CTP ,类库似乎完全没有改变,而“ASP.NETvNext类库”包含了新的project.json文件。然而,目前尚不清楚它是否具有与ASP.NETvNext相关的任何好处?

    link 表示此ASP.NETvNext库项目的编译是动态的。他们两个之间还有什么不同吗?

    1 回复  |  直到 10 年前
        1
  •  7
  •   AndersNS    10 年前

    另一个优点是vNext项目在构建时输出nuget包,而vNext之前的类库只输出DLL。如果在project.json文件中指定了多个目标框架,那么构建的nuget包将包含为所有这些目标框架构建的DLL。

    例如,这里有一个project.json:

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

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

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

    当您从其他项目引用此类库时,它将根据所需的目标框架使用正确的DLL。