【问题标题】:Difference Between Class Library & ASP.NETvNext Class Library?类库和 ASP.NETvNext 类库的区别?
【发布时间】:2014-11-04 01:59:12
【问题描述】:

Class LibraryASP.NETvNext Class Library 项目之间有什么区别?从VS 14 CTP 中的项目创建来看,类库似乎根本没有改变,而“ASP.NETvNext 类库”包含新的 project.json 文件。但是,不清楚它是否有与 ASP.NETvNext 相关的好处?

link 表示此 ASP.NETvNext 库项目的编译是动态的。两者还有其他区别吗?

【问题讨论】:

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


    【解决方案1】:

    另一个优点是 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。

    【讨论】:

    • 跟ASP.NET有关系吗?我的意思是为什么它被命名为 ASP.NET vNext 类库(并且在 VS 14 的 web 类别下可用,因为这些好处也适用于其他项目类型?
    • 目前只有 ASP.NET vNext 项目使用新的项目结构,所以不,它对其他项目类型没有好处。它被称为 ASP.NET vNext 类库,因为目前只有 ASP.NET 项目可以使用它们(无需跳过一些环节)。这里有一个用户语音来支持所有项目类型的 project.json visualstudio.uservoice.com/forums/121579-visual-studio/…。去投票吧。 :)
    猜你喜欢
    • 2013-06-27
    • 2023-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    相关资源
    最近更新 更多