asp.net web api 的版本 升级到 2.2的记录
asp.net web api 2.2相比1.0提升了不少 而且其中最重要的就是有了在线文档的自动字段注释的功能 再也不用写详细的字段说明
文档
了
本次跟新使用的是nuget来更新包引用的,不得不说有了nuget让项目应用的包管理变得非常方便了
打开nuget管理
搜索 web api
找到
直接点更新 一些依赖的package也会自动更新
但是现在生成失败 因为现在help page还是低版本的
和第二步一样 搜索 api help
找到 Microsoft.AspNet.WebApi.HelpPage
点击更新
如果 之前版本引用的entity framework
是版本较低的 现在项目中又有一大堆错误提示
那现在更新entity framework
吧 方法同第二部
进行过上面的步骤之后 运行项目 会出现下面的错误
[A]System.Web.WebPages.Razor.Configuration.HostSection 无法强制转换为 [B]System.Web.WebPages.Razor.Configuration.HostSection。类型 A 源自“System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Razor\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll”位置处)。类型 B 源自“System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”(在上下文“Default”中的“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\vs\5182bf1d\853b7759\assembly\dl3\106463e0\f8d66dcf_8026d101\System.Web.WebPages.Razor.dll”位置处)。
因为 原来引用的是 System.Web.WebPages.Razor, Version=2.0.0.0
但是做了之前的记录更新之后 System.Web.WebPages.Razor
已经被更新到 3.0版本了
所以现在需要修改 Views文件夹下的Web.Config中的System.Web.WebPages.Razor, Version=2.0.0.0
改成 System.Web.WebPages.Razor, Version=3.0.0.0
在站点的属性中的 生成选项里 选择XML文档文件 并且制定一个容易辨别的路径比如App_Data\XmlDocument.xml
这样的网站在生成的时候就可以把项目中的注释信息写到App_Data\XmlDocument.xml
中,
在 帮助文档的配置静态类中 HelpPageConfig
的Register
方法中 加上这样代码
//// Uncomment the following to use the documentation from XML documentation file.
config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));
这样 web api help就可以解析到注释信息并且 如下图所示
这里只是以升级api帮助文档为目的升级了 asp.net web api版本 但是实际上高版本提升了很多特性 可以大大增加开发的效率,还请大家一起研究学习。