asp.net web api 的版本 升级到 2.2的记录
asp.net web api 2.2相比1.0提升了不少 而且其中最重要的就是有了在线文档的自动字段注释的功能 再也不用写详细的字段说明
文档
了
本次跟新使用的是nuget来更新包引用的,不得不说有了nuget让项目应用的包管理变得非常方便了
1. 首先请确认你项目.net版本最低是4.5的
2. 更新 api
打开nuget管理
搜索 web api
找到
直接点更新 一些依赖的package也会自动更新
但是现在生成失败 因为现在help page还是低版本的
3.更新api help
和第二步一样 搜索 api help
找到 Microsoft.AspNet.WebApi.HelpPage
点击更新
如果 之前版本引用的entity framework
是版本较低的 现在项目中又有一大堆错误提示
那现在更新entity framework
吧 方法同第二部
4. 修改视图web.config
进行过上面的步骤之后 运行项目 会出现下面的错误
[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
5 更新 Microsoft.AspNet.WebApi.OData
6 Web APi Help工具 检查注释文档的位置
在站点的属性中的 生成选项里 选择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版本 但是实际上高版本提升了很多特性 可以大大增加开发的效率,还请大家一起研究学习。