与5.1.0版本ASP.NET的WebAPI 2.1为什么叫ASP.NET的WebAPI包库?(Wh

2019-10-28 11:07发布

我要开始使用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 - 它后面的任何具体的原因还是历史?

Answer 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 (内部版本)。



Answer 2:

其原因是,altough ASP.NET MVCASP.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?