最近在一個老項目的基礎上改造和升級准備做一個“產品”出來。等我利用業余時間弄得差不多就可以公布出來了。希望時間不要太長。
-----------------------------------------------------------------------------------------------------------------------------------
入主題:
刪除了一些圖片文件,發布的時候發現報錯了,編譯並不會報錯。
錯誤大致是:未能將文件../Images/...jpg 復制到 obj\Debug\Package\PackageTmp\.. 中,當然不限於圖片文件。
因為花了一些時間,所以記錄下。
產生的原因:之所以發布時出現這種錯誤,是因為之前在.csproj項目文件中“<Content Include>”參數已經存儲了這些文件路徑。后來有些文件被刪掉了,但是.csproj中參數記錄還在,所以發布時才會出現“未能將文件……復制到……”的錯誤。
網上找來的解決辦法:
方法1、比較笨的方法就是按照出錯提示暫時把所缺的圖片重新放入相應文件夾里,這樣再次發布成功,但這樣一是麻煩二是這些圖片對目前的網站來說根本就是垃圾圖片,沒有任何用處,浪費硬盤空間,增加服務器壓力。
方法2、所以網上有人給出解決方案:刪掉.csproj文件中相應的<Content Include>行,經測試可行,但是這樣還是麻煩的不行,如果是大量圖片文件分多目錄存放(如每一天生成一個文件夾),徒手刪除操作何其繁瑣。
方法3、基於之前的方法繁瑣,我想到了一個其實也很笨的方法,先把upfile整個目錄在解決方案資源管理器中“從項目中排除”,然后“重新生成解決方案”,然后再發布,最后把upfile目錄拷貝到發布后的網站目錄中,測試可行。
綜上:我的方法的差不多,如果文件少,那你可以用方法2。如果文件比較多,並且你已經不知道是那些文件里,那就把.csproj文件中所有的<Content Include>刪除,刪除后在vs上就顯示被排除在項目之外了,在把你自己的項目文件包含下。就可以了。
