mvc上傳到美橙云虛擬機(jī)系列問(wèn)題的解決方法
我用vs2015寫了個(gè)小網(wǎng)站,.Net Framework4.5、 mvc 5,發(fā)布到本機(jī)iis上正常,在美橙申請(qǐng)了一個(gè)云虛擬機(jī),發(fā)布過(guò)程中遇到的一些問(wèn)題記錄如下:
1、服務(wù)器支持的版本比較低
上傳后打開(kāi)網(wǎng)站顯示:
HTTP 錯(cuò)誤 404.0 - Not Found
您要找的資源已被刪除、已更名或暫時(shí)不可用。
詢問(wèn)美橙的技術(shù)支持,說(shuō)只能支持到.net framework4.0、mvc4。
沒(méi)辦法只好試著降低版本。在vs2015中把解決方案中所有的項(xiàng)目目標(biāo)框架都改為.net framework4.0 , 在NuGet中把mvc5卸載,安裝mvc4,立刻出現(xiàn)了一堆的錯(cuò)誤,尤其是實(shí)體類的一些擴(kuò)展的部分類中的特性
[MaxLength(128, ErrorMessage = "典型客戶長(zhǎng)度不能超過(guò)128個(gè)字符")]
都無(wú)法識(shí)別。引用的庫(kù)不一致的版本很多,無(wú)從下手。
2、缺少一些dll文件
于是干脆下了個(gè)vs2012,在vs2012中重新建解決方案,選擇ASP.NET MVC4 Web應(yīng)用程序,目標(biāo)框架選擇.net framework4.0 ,暫時(shí)只建了一個(gè)控制器home,一個(gè)視圖index,在本地通過(guò)之后,再上傳到云虛擬機(jī)中,依然404錯(cuò)誤。
再與美橙的技術(shù)人員聯(lián)系,對(duì)方幫我開(kāi)啟了詳細(xì)報(bào)錯(cuò)。
我在web.config中加入了
<system.web> <customErrors mode="Off" /> </system.web>
再訪問(wèn)網(wǎng)站,提示無(wú)法加載......
于是按照提示,分別上傳了:System.Net.Http.Formatting.dll、System.Web.Http.dll、System.Web.Http.WebHost.dll,終于可以看到我的視圖了。
3、加入U(xiǎn)Editor后Newtonsoft.Json的版本問(wèn)題
用vs2012重新建各個(gè)項(xiàng)目,把原vs2015解決方案中的各個(gè)項(xiàng)目逐個(gè)的拷貝過(guò)來(lái)。
拷貝了插件UEditor之后,再運(yùn)行一直提示:未能加載文件或程序集“Newtonsoft.Json, Version=4.5.0.0...... ,再查看引用的是UEditor\net\Bin中的Newtonsoft.Json.dll,版本為6.0.2.16931,我移除引用,重新引用packages\Newtonsoft.Json.4.5.6\lib\net40中的Newtonsoft.Json.dll,然而再查看引用的Newtonsoft.Json屬性,依然還是UEditor\net\Bin中6.0版本的Newtonsoft.Json,我有點(diǎn)糊涂,為什么重新引用不生效呢?
費(fèi)了很大周折,最后通過(guò)修改web.config文件
<!--解決加入U(xiǎn)Editor后,提示未能加載文件或程序集“Newtonsoft.Json, Version=4.5.0.0......的錯(cuò)誤--> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> </dependentAssembly> </assemblyBinding> </runtime>
將所有版本的Newtonsoft.Json都指向當(dāng)前6.0版本,這個(gè)問(wèn)題解決。
4、401.3錯(cuò)誤
把vs2012寫的程序,在本地調(diào)試通過(guò)后,再上傳,訪問(wèn)網(wǎng)站提示401.3錯(cuò)誤,應(yīng)該是權(quán)限問(wèn)題,再請(qǐng)美橙的技術(shù)處理一下,靜態(tài)的html頁(yè)可以顯示,但home/index依然無(wú)法打開(kāi),也不顯示詳細(xì)的錯(cuò)誤提示,根據(jù)查到的方法在web.config中加入
<system.webServer> <validation validateIntegratedModeConfiguration="false"/> <!--上傳到云虛擬機(jī)后,必須加這個(gè)配置項(xiàng)才能打開(kāi)網(wǎng)頁(yè)--> <modules runAllManagedModulesForAllRequests="true" /> </system.webServer>
終于看到無(wú)法加載文件的詳細(xì)提示,再按提示上傳那三個(gè)文件到bin,再訪問(wèn)網(wǎng)站,終于可以正常運(yùn)行了。
5、還是要贊一下美橙的技術(shù)支持人員,回答、解決問(wèn)題非常迅速、耐心。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 解讀ASP.NET 5 & MVC6系列教程(3):項(xiàng)目發(fā)布與部署
- 使用基于Node.js的構(gòu)建工具Grunt來(lái)發(fā)布ASP.NET MVC項(xiàng)目
- MVC4 網(wǎng)站發(fā)布(整理+部分問(wèn)題收集和解決方案)
- ASP.NET MVC3網(wǎng)站創(chuàng)建與發(fā)布(1)
- 關(guān)于有些Asp.net項(xiàng)目發(fā)布后出現(xiàn)網(wǎng)址亂碼的解決方法
- asp.net程序在調(diào)式和發(fā)布之間圖片路徑問(wèn)題的解決方法
- 微軟NET Framework 3.5 Beta 1 發(fā)布 提供下載
- 解決asp.net Sharepoint無(wú)法連接發(fā)布自定義字符串處理程序,不能進(jìn)行輸出緩存處理的方法
- relaxlife.net發(fā)布一個(gè)自己開(kāi)發(fā)的中文分詞程序
相關(guān)文章
基于.net core微服務(wù)的另一種實(shí)現(xiàn)方法
這篇文章主要給大家介紹了基于.net core微服務(wù)的另一種實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07asp.net(C#) 動(dòng)態(tài)添加非ASP的標(biāo)準(zhǔn)html控件(如添加Script標(biāo)簽)
在開(kāi)發(fā)程序時(shí),有時(shí)需要?jiǎng)討B(tài)添加標(biāo)簽,而有部分又不是ASP控件,偶然找到這段代碼,特收藏。2009-07-07NET Core TagHelper實(shí)現(xiàn)分頁(yè)標(biāo)簽
這篇文章主要介紹了NET Core TagHelper實(shí)現(xiàn)分頁(yè)標(biāo)簽,講述實(shí)現(xiàn)一個(gè)簡(jiǎn)單分頁(yè)和總要注意步奏,感興趣的小伙伴們可以參考一下2016-07-07ASP.NET配合jQuery解決跨域調(diào)用的問(wèn)題
這篇文章主要介紹了ASP.NET配合jQuery解決跨域調(diào)用的問(wèn)題,簡(jiǎn)單實(shí)用,需要的朋友可以參考下。2016-06-06asp.net core項(xiàng)目授權(quán)流程詳解
本文詳細(xì)講解了asp.net core項(xiàng)目的授權(quán)流程,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09.NET 中的裝箱與拆箱實(shí)現(xiàn)過(guò)程
本文分別介紹裝箱(boxing)與拆箱(unboxing)的實(shí)現(xiàn)過(guò)程,感興趣的朋友可以了解下2013-01-01