程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 高版本VS發布時預編譯可能導致Mono中Razor找不到視圖

高版本VS發布時預編譯可能導致Mono中Razor找不到視圖

編輯:關於.NET

早前一段時間,一位朋友在Q群裡面找到我,說它按照《Linux.NET學習手記》的操作,把一個ASP.NET MVC 4.0的項目部署到Mono之後出現Razor無法找到視圖的現象。當時費了一番周章才把問題解決。而最近一段時間,群裡也有其他的朋友出現相同的問題,隨著時間的推移,想必會有越來越多朋友會使用高版本的VS,於是我把當時的情況重現出來,並把解決辦法記錄下來。

像往常一樣,我們創建了一個MVC4的項目。

然後添加了一個視圖,默認的那個(/Home/Index),然後,再發布到Linux.NET裡面。

然後就出現了如圖的這個令人不愉快的頁面,我們的Razor找不到視圖了。

而事實上,我們是有這個視圖的,並且也不存在常見的大小寫和權限問題。

由於近期為了體驗.NET Nactive,裝了個VS2013並打上了Update包,所以我把目光聚焦在了這次的更新當中,不排除更新是系統的一些配置諸如Config或者DLL出現變化而導致Linux.NET的不兼容。

經過一番的排查,我突然發現,VS在發布的地方多了個容易讓人忽略的東西(平時折疊起來了)。

正如圖中所見的,選項中多出了“在發布期間預編譯”這麼一個選項。把這個勾去掉,然後重新發布。再次刷新頁面:

Razor引擎又恢復正常了,視圖被重新找到了。

目前發現VS2013和VS2012 Update2以上 會出現“發布時預編譯”這個功能,各位朋友需要多加留意。

本欄目

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