使用 Visual Studio 或 Visual Web Developer 部署具有SQL Server Compact的 ASP.NET Web 應用程式:設定專案屬性 - 12 的 4

By Tom Dykstra

下載入門專案

本系列教學課程說明如何使用 Visual Studio 2012 RC 或 Visual Studio Express 2012 RC for Web,部署 (發佈) ASP.NET 包含 SQL Server Compact 資料庫的 web 應用程式專案。 如果您安裝 Web 發佈更新,您也可以使用 Visual Studio 2010。 如需系列簡介,請參閱 系列的第一個教學課程。

如需示範 Visual Studio 2012 RC 版本之後所引進部署功能的教學課程,示範如何部署 SQL Server Compact 以外的SQL Server版本,並示範如何部署至 Azure App 服務 Web Apps,請參閱使用 Visual Studio ASP.NET Web 部署

概觀

某些部署選項是在專案檔中儲存的專案屬性中設定, (.csproj.vbproj 檔案) 。 在大部分情況下,這些設定的預設值是您想要的,但如果您需要變更這些設定,您可以使用 Visual Studio 內建的 Project Properties UI 來處理這些設定。 在本教學課程中,您會檢閱 專案屬性中的部署設定。 您也會建立預留位置檔案,以部署空的資料夾。

在 [專案屬性] 視窗中設定部署設定

大部分會影響部署期間發生的設定都包含在發佈設定檔中,如下列教學課程所示。 您應該注意的幾個設定位於 [專案屬性] 視窗的 [封裝/發佈] 索引標籤中。 這些設定會針對每個組建組態指定,也就是說,您可以有不同的發行組建設定,而不是偵錯組建的設定。

方案總管中,以滑鼠右鍵按一下ContosoUniversity專案,選取 [屬性],然後選取 [套件/發佈 Web] 索引標籤。

Package_Publish_Web_tab

當視窗顯示時,預設會顯示解決方案目前作用中組建組態的設定。 如果 [ 組態 ] 方塊未指出 [ 作用中] ([發行) ],請選取 [ 發行 ] 以顯示發行組建組態的設定。 您會將發行組建部署至測試和生產環境。

Package_Publish_Web_tab_selecting_Release

選取 [使用中 (發行]) 或 [ 發行 ] 時,您會看到使用發行組建組態部署時有效的值:

  • 在 [ 要部署的專案] 方塊中,只會選取執行 應用程式所需的檔案 。 其他選項是 此專案中的所有檔案此專案資料夾中的所有檔案。 藉由保留預設選取專案,您可以避免部署原始程式碼檔案,例如。 此設定是包含SQL Server Compact二進位檔案的資料夾必須包含在專案中的原因。 如需此設定的詳細資訊,請參閱ASP.NET Web 應用程式專案部署常見問題中,為什麼我的專案資料夾中的所有檔案都未部署?
  • 已選取 [排除產生的偵錯符號 ]。 當您使用此組建組態時,將不會進行偵錯。
  • 未選取[從App_Data資料夾排除檔案]。 成員資格資料庫的SQL Server Compact檔案位於該資料夾中,而且您必須加以部署。 當您部署不包含資料庫變更的更新時,您將選取此核取方塊。
  • 未選取發佈前先行編譯此應用程式。 在大部分情況下,不需要先行編譯 Web 應用程式專案。 如需此選項的詳細資訊,請參閱 封裝/發佈 Web 索引標籤、專案屬性進階先行編譯設定對話方塊
  • 已選取 [封裝/發佈 SQL] 索引標籤中設定的所有資料庫,但此選項現在沒有作用,因為您未設定[封裝/發佈 SQL] 索引標籤。該索引標籤適用于舊版資料庫部署方法,用來作為部署SQL Server資料庫的唯一選項。 您將使用移轉至 SQL Server教學課程中的[封裝/發佈 SQL] 索引標籤。
  • [Web 部署套件設定] 區段不適用,因為您在這些教學課程中使用單鍵發佈。

將 [ 組態 ] 下拉式方塊變更為 [偵錯],以查看偵錯組建的預設設定。 除了 清除 [排除產生的偵錯符號 ] 之外,這些值相同,因此您可以在部署偵錯組建時進行偵錯。

確定 Elmah 資料夾已部署

如上一個教學課程中所見, Elmah NuGet 套件 提供錯誤記錄和報告的功能。 在 Contoso University 應用程式中,已設定 Elmah 將錯誤詳細資料儲存在名為 Elmah的資料夾:

Elmah 資料夾

排除部署中的特定檔案或資料夾是常見的需求;另一個範例是使用者可以上傳檔案的資料夾。 您不希望在開發環境中建立的記錄檔或上傳的檔案部署到生產環境。 而且,如果您要將更新部署至生產環境,則不想讓部署程式刪除生產環境中存在的檔案。 (視您設定部署選項的方式而定,如果檔案存在於目的地網站中,但在部署時來源網站中,Web Deploy 會從 destination.)

如您稍早在本教學課程中所見,[套件/發佈 Web] 索引標籤中的 [要部署的專案]選項會設定為 [僅需要檔案] 來執行此應用程式。 因此,不會部署由 Elmah 在開發中建立的記錄檔,這是您想要發生的狀況。 (要部署,則必須包含在專案中,而且其[建置動作] 屬性必須設定為[內容]。如需詳細資訊,請參閱ASP.NET Web 應用程式專案部署常見問題) 中為何不會部署專案資料夾中的所有檔案? 。 不過,除非至少有一個檔案要複製到目的地網站,否則 Web Deploy 不會在目的地網站中建立資料夾。 因此,您會將 .txt 檔案新增至資料夾,以作為預留位置,以便複製資料夾。

方案總管中,以滑鼠右鍵按一下Elmah資料夾,選取 [新增專案],然後建立名為Placeholder.txt的檔案。 將下列文字放在其中:「這是預留位置檔案,以確保資料夾已部署」,並儲存檔案。 您只需要這麼做,才能確定 Visual Studio 會部署此檔案及其所在的資料夾,因為預設會將.txt檔案的[建置動作] 屬性設定為[內容]。

您現在已完成所有部署設定工作。 在下一個教學課程中,您將將 Contoso University 網站部署至測試環境,並在該處進行測試。