天天看點

vs2012 釋出網站丢失檔案

問題描述

在釋出網站時,發現上線的網站總是功能缺失,而本地代碼确實沒問題。

到釋出網站的磁盤去檢視,發現丢失了很多靜态頁面檔案。

這是一個很奇怪的問題:mvc的網站,丢失了很多View(大部分的cshtml檔案都釋出成功了,隻有少數部分釋出失敗)。

手動将所有view全部覆寫一遍,發現網站可以正常運作了……

這是什麼原因呢?為什麼釋出會遺漏部分靜态檔案呢?

解決方案

在vs中檢視這些遺漏的和釋出成功的檔案屬性,對比一下發現

vs2012 釋出網站丢失檔案

釋出成功的檔案,屬性中【生成操作】選中了【内容】選項,而失敗的檔案則是【無】。

修改了這些屬性我在此嘗試釋出,真的成功了。

追究原因

為什麼這些檔案會沒有這些屬性呢?

回想一下這些檔案被加入到工程的操作,我發現(在我這個項目中),因為是多個分布視圖,是以我隻建立了一個分布視圖,然後通過ctrl+c  ctrl+v 複制了其他的視圖(過程中字尾出現問題,修改過字尾),而釋出結果剛好是通過vs建立的分布式圖釋出成功了,而複制的視圖釋出失敗。

通過複制的視圖,如果字尾被修改過(圖中修改了視圖字尾為.cshtml1),則會丢失這些屬性資訊。

vs2012 釋出網站丢失檔案

在手動修改為正确的字尾之後 還要修改這些檔案的【生成操作】屬性。

後記

這本不該出現的問題,引出這麼大的麻煩,不過研究得到最後的真知,也算是一種收獲了。

小心駛得萬年船,怪就怪自己不細心吧。