程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> mvc上傳到雲虛擬機的問題解決,mvc上傳雲虛擬機

mvc上傳到雲虛擬機的問題解決,mvc上傳雲虛擬機

編輯:關於.NET

mvc上傳到雲虛擬機的問題解決,mvc上傳雲虛擬機


我用vs2015寫了個小網站,.Net Framework4.5、 mvc 5,發布到本機iis上正常,在美橙申請了一個雲虛擬機,發布過程中遇到的一些問題記錄如下:

 

1、服務器支持的版本比較低

上傳後打開網站顯示:

HTTP 錯誤 404.0 - Not Found
您要找的資源已被刪除、已更名或暫時不可用。

詢問美橙的技術支持,說只能支持到.net framework4.0、mvc4。

沒辦法只好試著降低版本。在vs2015中把解決方案中所有的項目目標框架都改為.net framework4.0 , 在NuGet中把mvc5卸載,安裝mvc4,立刻出現了一堆的錯誤,尤其是實體類的一些擴展的部分類中的特性

         [MaxLength(128, ErrorMessage = "典型客戶長度不能超過128個字符")]

都無法識別。引用的庫不一致的版本很多,無從下手。

 

2、缺少一些dll文件

於是干脆下了個vs2012,在vs2012中重新建解決方案,選擇ASP.NET MVC4 Web應用程序,目標框架選擇.net framework4.0 ,暫時只建了一個控制器home,一個視圖index,在本地通過之後,再上傳到雲虛擬機中,依然404錯誤。

再與美橙的技術人員聯系,對方幫我開啟了詳細報錯。

我在web.config中加入了

  <system.web>
    <customErrors mode="Off" />
  </system.web>

再訪問網站,提示無法加載......

於是按照提示,分別上傳了:System.Net.Http.Formatting.dll、System.Web.Http.dll、System.Web.Http.WebHost.dll,終於可以看到我的視圖了。

 

3、加入UEditor後Newtonsoft.Json的版本問題

用vs2012重新建各個項目,把原vs2015解決方案中的各個項目逐個的拷貝過來。

拷貝了插件UEditor之後,再運行一直提示:未能加載文件或程序集“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,我有點糊塗,為什麼重新引用不生效呢?

費了很大周折,最後通過修改web.config文件

  <!--解決加入UEditor後,提示未能加載文件或程序集“Newtonsoft.Json, Version=4.5.0.0......的錯誤-->
  <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都指向當前6.0版本,這個問題解決。

 

4、401.3錯誤

把vs2012寫的程序,在本地調試通過後,再上傳,訪問網站提示401.3錯誤,應該是權限問題,再請美橙的技術處理一下,靜態的html頁可以顯示,但home/index依然無法打開,也不顯示詳細的錯誤提示,根據查到的方法在web.config中加入

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <!--上傳到雲虛擬機後,必須加這個配置項才能打開網頁-->
    <modules runAllManagedModulesForAllRequests="true" />  
  </system.webServer>

終於看到無法加載文件的詳細提示,再按提示上傳那三個文件到bin,再訪問網站,終於可以正常運行了。

 

5、還是要贊一下美橙的技術支持人員,回答、解決問題非常迅速、耐心。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved