發行Web時如何連同非應用程式必須的檔案一併部署

發行Web時如何連同非應用程式必須的檔案一併部署

依照預設以Visual Studio 2010發行應用程式時,只會將執行該Web專案所需的檔案部署至指定的位置(如下圖之設定),若Web專案中有一些供使用者下載的文件(PDF或OFFIC檔案)並不會被部署出去。

image

解決方式很簡單,只要於方案總管中的專案上按右鍵選擇屬性,點選左邊的【封裝/發行Web】頁籤,在要部署的項目(適用於所有的部署方法)改選【此專案中的所有檔案】或【此專案資料夾中的所有檔案】(註:經過測試實在看不出來兩者有什麼差別)其中一項後重新發行Web即可,不過這樣做的缺點會連SOURCE CODE都部署出去(如下圖)。

image

建議還是使用預設的【只有執行此應用程式必須的檔案】搭配建置事件,例如在建置後事件命令列輸入【xcopy "$(SolutionDir)$(SolutionName)\download" e:\temp\download /s /i /y】,在發行Web後手動在建置一次專案,將【D:\Visual Studio 2010\Projects\WebApplication2\WebApplication2\Download】目錄下的所有檔案複製到發行Web的路徑【e:\temp\Download】,以達到只部署應用程式必要的檔案及欲提供下載的文件之需求。

image

參考資料:

http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=ZH-TW&k=k(WEBAPPLICATIONPROJECTS.PACKAGEPUBLISHOVERVIEW);k(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22)&rd=true

http://msdn.microsoft.com/zh-tw/library/dd984948.aspx

http://msdn.microsoft.com/zh-tw/library/dd483479.aspx

http://mc6666.blogspot.com/2008/04/blog-post.html