我要开始使用ASP.NET MVC和的WebAPI这是2014年1月发布。
ASP.NET MVC 5.1,ASP.NET 2.1的Web API和ASP.NET网页3.1(参考文献:的NuGet)
我创建> “空模板” - > “网络API” 检查> “无身份验证” 一个新的ASP.NET Web应用程序(.NET 4.5.1)
根据包的NuGet文件夹我检查这个网页API空项目引用的库的版本,发现所有DLL(除NewtonSoft)是具有类似于5.1版本..
这也是ASP.NET MVC包真。
问:所有的库版本为5.1 ...,事件ASP.NET MVC被称为5.1那么为什么ASP.NET的WebAPI称为2.1 - 它后面的任何具体的原因还是历史?
2.1版是你要注意 ,因为这是的ASP.NET Web API的NuGet包的命名版本,并正式使用唯一编号的版本 。
库版本号5.x的是内部的各个组件库组成的Web API 2.1 - 和5.1是不是巧合,因为你已经注意到,因为网络API股与其他所有网页的东西一个共同的根源。 因此从技术上讲的ASP.NET Web API有两个不同的版本方案,一个是产品的正式版本,一个是库版本。
如果你看的NuGet包的ASP.NET Web API 2.2,你会看到网址是
https://www.nuget.org/packages/Microsoft.AspNet.WebApi/5.2.0-rc
这意味着从字面上,这是ASP.NET的Web API 2.2版本5.2.0 RC,这是令人困惑的。 不过想想这一个方式是“的ASP.NET Web API 2.2”作为产品的名称,而5.2.0是产品的内部版本号 - 与Windows 8的(名字)VS的Windows 6.2.9200 (内部版本)。
其原因是,altough ASP.NET MVC和ASP.NET Web API中的 ASP.NET解决方案经常一起使用,它们是两个不同的框架。
的ASP.NET Web API是被集成到ASP.NET后更新的产品MVC
,因此,在版本的差异。
也并不是说Razor
这也是一个独立的框架,开发/单独发布,并有自己的版本(3.0.0.0),ASP.NET下使用一些其他的库有不同的版本,以及。
文章来源: Why call ASP.NET WebAPI package libraries with version 5.1.0 as ASP.NET WebAPI 2.1?