asp.net web api 的版本升級到 2.2的記錄


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中,
在 幫助文檔的配置靜態類中 HelpPageConfigRegister方法中 加上這樣代碼

//// 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版本 但是實際上高版本提升了很多特性 可以大大增加開發的效率,還請大家一起研究學習。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM