Class Library
&之间有什么区别? ASP.NETvNext Class Library
个项目?从VS 14 CTP
中的项目创建开始,类库似乎根本没有改变,而ASP.NETvNext类库'包括新的project.json文件。但是,它是否具有与ASP.NETvNext相关的任何好处尚不清楚?
这个link表示这个ASP.NETvNext库项目的编译是动态的。这两者之间是否存在其他差异?
答案 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,具体取决于它所需的目标框架。