共用方式為


逐步解說:使用 Web 部署套件部署 Web 應用程式專案 (第 1 部分,共 4 部分)

這是一系列逐步解說中的第一個,內容說明如何使用 Web 部署套件來部署 Web 應用程式專案。 在此系列中,您將會建立檔案系統 Web 應用程式專案。 您會先將它部署到本機電腦進行本機 IIS 測試,然後將它部署到開發用伺服器。 將會設定您用來部署至開發用伺服器的部署套件,好讓它也可用來部署至實際執行伺服器。

這一系列的逐步解說將說明下列工作:

  • 針對 [偵錯] 組建組態建立套件。

  • 針對 [發行] 組建組態建立套件。

  • 轉換目的環境的 Web.config 檔案設定。

  • 在部署期間加入自訂 SQL 指令碼。

  • 重新部署已經部署的資料庫。

  • 從部署中排除已經部署的資料庫。

  • 將多個開發資料庫部署至單一目的資料庫。

  • 同時在使用及不使用本機電腦上所建立之帳戶資訊的情況下,部署預設的 ASP.NET 成員資格資料庫。

  • 針對您想要在安裝套件時變更的組態值使用自訂部署參數。

  • 使用 IIS 管理員,在本機電腦上安裝套件。

  • 使用 deploy.cmd 檔案,在遠端電腦上安裝套件。

這個逐步解說將說明下列工作:

  • 針對 [偵錯] 組建組態建立套件。

  • 轉換目的環境的 Web.config 檔案設定。

  • 將多個開發資料庫部署至單一目的資料庫。

  • 在部署期間加入自訂 SQL 指令碼。

  • 使用本機電腦上建立的帳戶資訊,部署預設的 ASP.NET 成員資格資料庫。

  • 使用 IIS 管理員,在本機電腦上安裝套件。

必要條件

為了完成這一系列的逐步解說,您必須具備下列項目:

  • Visual Studio 或 Visual Web Developer Express。

    注意事項注意事項

    如果您正在使用 Visual Studio,此逐步解說假設您在第一次啟動 Visual Studio 時已選取設定的 [Web 程式開發] 集合。如需詳細資訊,請參閱 HOW TO:選取 Web 開發環境設定

  • SQL Server Express 2008 或更新版本 (根據預設,這個產品會與 Visual Studio 一起安裝)。

  • .mdf 檔案版本的 AdventureWorksLT 資料庫。 這個檔案可以 SQL2008.AdventureWorksLT2008_Only_Database.zip 的形式從 CodePlex 網站上的 Microsoft SQL Server:資料庫產品範例 (英文) 下載。

  • 本機電腦上已啟用 IIS 7。

  • ASP.NET 4 已向本機電腦上的 IIS 7 註冊,而且 ASP.NET 4 應用程式集區已指派給預設網站。 如需詳細資訊,請參閱 ASP.NET IIS 註冊工具 (Aspnet_regiis.exe)

  • 本機電腦的系統管理權限。

此外,為了完成第四個逐步解說的部署套件安裝,您必須具備以下項目:

  • 供您部署的第二部電腦。 第二部電腦也必須已經啟用 IIS 7、ASP.NET 4 必須已向 IIS 7 註冊,而且 ASP.NET 4 應用程式集區必須指派給預設網站。 如果您要設定此電腦,您需要其系統管理權限。 如果其他人為您設定電腦,您可能需要其系統管理權限 (視您使用的部署方法而定)。 如需詳細資訊,請參閱逐步解說:使用 Web 部署套件部署 Web 應用程式專案 (第 4 部分,共 4 部分),這是需要第二部電腦的逐步解說。

建立要部署的 Web 專案

在下列程序中,您會使用 Visual Studio [ASP.NET Web 應用程式] 專案範本來建立 Web 應用程式專案。 您將會建立 ASP.NET 預設成員資格資料庫、加入 AdventureWorksLT 資料庫,並加入控制項來顯示 AdventureWorksLT 資料庫中的資料。

若要建立要部署的 Web 專案

  1. 在 Visual Studio 中,按一下 [檔案] 功能表上的 [新增專案]。

    注意事項注意事項

    請確定您選取的是 [新增專案],而不是 [新網站]。部署套件只能搭配 Web 應用程式專案使用。

    [新增專案] 對話方塊隨即出現。

  2. 在 [已安裝的範本] 視窗中,展開 [Visual Basic] 或 [C#],然後選取 [Web]。

  3. 選取 [ASP.NET Web 應用程式] 範本。

    [新增專案] 對話方塊與下圖類似:

    有預設值的 [新增專案] 對話方塊

  4. 在 [名稱] 方塊中輸入 AdventureWorks。

  5. 按一下 [確定]。

    Visual Studio 會建立 Web 應用程式。 已建立 App_Data 資料夾來容納這個應用程式的資料庫,但是其中尚未有任何資料庫。

  6. 在 [方案總管] 中,展開 [帳戶] 資料夾,並以滑鼠右鍵按一下 Register.aspx 檔案,然後按一下 [在瀏覽器中檢視]。

    隨即顯示 [建立新帳戶] 頁面,如下圖所示:

    [建立新帳戶] 頁面

  7. 在 [使用者名稱] 中輸入 newuser、在 [密碼] 中輸入 newuser、輸入電子郵件地址,然後按一下 [建立使用者]。

    ASPNETDB.MDF SQL Server 資料庫檔案會在 App_Data 資料夾中建立,而且您提供的認證會輸入到其中。 若要在 [方案總管] 中查看此 .mdf 檔案,請按一下 [方案總管] 工具列中的 [顯示所有檔案] 按鈕。

  8. 將 SQL2008.AdventureWorksLT2008_Only_Database.zip 檔案的內容解壓縮放到專案的 App_Data 資料夾中。 如需這個範例資料庫的詳細資訊,請參閱本主題稍早討論的必要條件。

  9. 開啟 Web.config 檔。

  10. 在 connectionStrings 項目中,為 AdventureWorksLT 資料庫加入連接字串,如下列範例所示:

    <connectionStrings>
      <add name="ApplicationServices"
          connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
          providerName="System.Data.SqlClient" />
      <add name="AWLTConnectionString" 
          connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\AdventureWorksLT2008_Data.mdf;User Instance=true"
          providerName="System.Data.SqlClient" />
    </connectionStrings>
    
  11. 儲存並關閉 Web.config 檔案。

  12. 開啟 Default.aspx 檔案。

    檔案隨即顯示在 [原始碼] 檢視中。

  13. 刪除 h2 和 p 項目,然後在其位置中加入下列標記:

    <h2>
      Welcome to AdventureWorks!
    </h2>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AWLTConnectionString %>" 
        SelectCommand="SELECT SalesLT.Product.* FROM SalesLT.Product">
    </asp:SqlDataSource>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataKeyNames="ProductID" DataSourceID="SqlDataSource1">
        <Columns>
            <asp:BoundField DataField="Name" HeaderText="Name" 
                SortExpression="Name" />
            <asp:BoundField DataField="Color" HeaderText="Color" 
                SortExpression="Color" />
            <asp:BoundField DataField="ListPrice" HeaderText="ListPrice" 
                SortExpression="ListPrice" />
            <asp:BoundField DataField="Size" HeaderText="Size" 
                SortExpression="Size" />
            <asp:BoundField DataField="Weight" HeaderText="Weight" 
                SortExpression="Weight" />
        </Columns>
    </asp:GridView>
    

    這個標記會將應用程式標題變更為 [Adventure Works],並加入 GridView 控制項來顯示其中一個 AdventureWorksLT 資料表中的資料。 此控制項可讓您確認 AdventureWorks LT 資料是否已部署成功。

  14. 儲存並關閉 Default.aspx 檔案。

  15. 您可以選擇根據下列步驟來變更主版頁面中的標題:

    1. 開啟 Site.master 檔案。

    2. 刪除我的 ASP.NET 應用程式,然後以 Adventure Works 取代。

    3. 儲存並關閉檔案。

  16. 依照下列步驟測試網站:

    1. 按 CTRL-F5 測試應用程式。

      Default.aspx 網頁會顯示在瀏覽器中。 此頁會顯示 Adventure Works 產品的清單,如下圖所示:

      Adventure Works Web 應用程式預設頁面

    2. 按一下 [登入] 超連結。

      [登入] 網頁隨即顯示。

    3. 在 [使用者名稱] 和 [密碼] 中都輸入 newuser,然後按一下 [登入]。

      Default.aspx 網頁會開啟,並在右上角顯示 [歡迎 newuser!],如下圖所示:

      登入 Adventure Works 預設頁面

    4. 關閉瀏覽器。

建立目的資料庫

此 Web 專案目前有兩個資料庫。 您會將兩個資料庫的內容部署到單一資料庫。 在實際執行環境中,維護及管理一個資料庫而不是兩個資料庫會比較符合成本效益。

在下列程序中,您將會建立空的目的資料庫供您部署。

若要建立目的資料庫

  1. 在 [伺服器總管] 中,以滑鼠右鍵按一下 [資料連接],然後按一下 [建立新的 SQL Server 資料庫]。

    [建立新的 SQL Server 資料庫] 對話方塊隨即顯示。

  2. 在 [伺服器名稱] 方塊中,輸入 localhost\SQLExpress。

  3. 在 [新資料庫名稱] 方塊中,輸入 AdventureWorksTest。

    當您輸入資料庫名稱時,[建立新的 SQL Server 資料庫] 對話方塊與下圖類似:

    [建立資料庫] 對話方塊

  4. 按一下 [確定]。

    新的資料庫隨即建立,並顯示在 [伺服器總管] 視窗的 [資料連接] 資料夾中,如下圖所示:

    顯示新資料庫的 [伺服器總管]

建立目的資料庫的授與指令碼

在 IIS 中部署 Web 應用程式時,此應用程式將會指派給預設 ASP.NET 4 應用程式集區,而且將會使用應用程式集區的認證來存取這個資料庫。 因此,您也必須建立指令碼來授與讀取權限給這些認證。

在下列程序中,您會建立指令碼,您會執行此指令碼來授與資料庫讀取權限給應用程式集區認證。

若要建立指令碼來授與讀取權限給應用程式集區

  1. 開啟文字編輯器,如 [記事本]。

  2. 建立新的文字檔,並在檔案中插入下列 Transact-SQL 陳述式:

    CREATE LOGIN [IIS APPPOOL\ASP.NET v4.0] 
      FROM WINDOWS WITH DEFAULT_DATABASE=[master], 
      DEFAULT_LANGUAGE=[us_english]
    GO
    CREATE USER [AdventureWorksUser] 
      FOR LOGIN [IIS APPPOOL\ASP.NET v4.0]
    GO
    EXEC sp_addrolemember 'db_datareader', 'AdventureWorksUser'
    GO
    
    注意事項注意事項

    這個指令碼是設計成使用 Windows 7 和 Windows Server 2008 R2 中的預設安全性設定。如果您正在使用舊版 Windows,或者您的電腦具有自訂安全性設定,當您的網站在 IIS 中執行時,這個指令碼可能不會將資料庫提供給網站所使用的認證。如需 SQL Server 安全性的詳細資訊,請參閱 SQL Server 線上叢書

  3. 將檔案命名為 AdventureWorksGrant.sql 並將它儲存在電腦的資料夾中,例如 C:\Temp。

    您可以將指令碼儲存在任何資料夾中。 請記住該位置,因為您之後將在本逐步解說中存取指令碼。

設定使用中組建組態

根據預設,新專案的使用中組建組態為偵錯。 在最初部署到本機電腦上的 IIS 時,您將會使用這個組建組態。 在下列程序中,您會確定已選取正確的組建組態。

若要設定使用中組建組態

  1. 按一下 [建置] 功能表上的 [組態管理員]。

    [組態管理員] 對話方塊隨即出現。

  2. 在 [使用中的方案組態] 清單中,確定已選取 [偵錯]。

    [使用中的方案組態] 清單通常也會顯示在 [標準] 工具列上。 如果此清單顯示在該處,您就可以確認或變更組建組態,而不必開啟 [組態管理員]。

  3. 關閉 [組態管理員]。

指定部署套件設定

在下列程序中,您會指定應該部署哪些檔案和 IIS 設定,以及應該如何建立套件。

若要指定部署套件設定

  1. 以滑鼠右鍵按一下 [方案總管] 中的專案,然後按一下 [屬性]。

    隨即顯示 [屬性] 頁面。

  2. 選取 [封裝/發行 Web] 索引標籤。

    [封裝/發行 Web] 索引標籤隨即顯示,如下圖所示:

    [封裝/發行 Web] 索引標籤

    在 [組態] 清單中,確定已選取 [使用中 (偵錯)]。 預設會選取使用中組建組態。 在前一個程序中,您將使用中組建組態設定為 [偵錯]。

  3. 在 [要部署的項目 (適用於所有的部署方法)] 清單中,確認已選取 [只有執行此應用程式必須的檔案] 核取方塊。

  4. 確定已清除 [排除產生的偵錯符號] 核取方塊。

    在這部分的逐步解說中,您會設定電腦上的部署進行測試。 因此,您會想要能夠進行偵錯。

    注意事項注意事項

    在偵錯模式中執行已部署之網站的能力取決於這個選項和 Web.config 檔案設定。與組建組態的名稱無關。

  5. 選取 [排除來自 App_Data 資料夾的檔案] 核取方塊。

    此專案會使用 App_Data 資料夾中的 SQL Server Express .mdf 檔案,但是您會在空的目的資料庫中執行指令碼來進行部署。 因此,您將不會部署 .mdf 檔案。

  6. 確定已選取 [包含 [封裝/發行 SQL] 索引標籤中設定的所有資料庫] 核取方塊 (您將於下列程序中設定 [封裝/發行 SQL] 索引標籤)。

  7. 確定已選取 [建立部署套件為壓縮檔] 核取方塊。

    部署工具會搭配 .zip 檔案形式的套件一起使用。 如果清除這個核取方塊,將會建立此套件當做資料夾結構中的檔案。 通常這個動作是為了建立已部署之網站的封存複本。

  8. 確定 [要建立封裝的位置] 方塊包含下列值 (如果您將 AdventureWorks 指定為專案名稱,這就是預設值):

    obj\Debug\Package\AdventureWorks.zip

  9. 在 [要在目的伺服器上使用的 IIS 網站/應用程式名稱] 方塊中,輸入 Default Web Site/AdventureWorks。

  10. 將變更儲存到 [封裝/發行 Web] 索引標籤。

指定資料庫部署設定

在下列程序中,您會指定要部署的資料庫以及部署方式。 您也會指定您在上一個程序中建立的 AdventureWorksGrant.sql 指令碼應該在部署期間執行。

若要指定將在部署期間執行的 SQL Server 指令碼

  1. 按一下 [封裝/發行 SQL] 索引標籤。

    [封裝/發行 SQL] 索引標籤隨即顯示,如下圖所示:

    [封裝/發行 SQL] 索引標籤

  2. 按一下 [從 Web.config 匯入]。

    Visual Studio 會讀取應用程式的 Web.config 檔案來尋找連接字串。 對於 Web.config 檔案中的每一個連接字串,Visual Studio 都會在 [資料庫項目] 方格中建立一個資料列。 根據預設,[資料庫項目] 方格是連接字串名稱加上 -Deployment 尾碼。

    在這個逐步解說中,將會建立兩個資料列。 一個名為 ApplicationServices-Deployment,另一個名為 AWLTConnectionString-Deployment,如下圖所示:

    [封裝/發行 SQL] 資料庫方格

  3. 確定已在 [資料庫項目] 資料表中選取 [ApplicationServices-Deployment] 資料列。

    [資料庫項目] 方格底下的欄位會套用到 [資料庫項目] 方格中選取的資料列。 如果未選取任何資料列,則會停用此資料表下方的欄位。

  4. 在 [目的資料庫的連接字串] 方塊中,輸入您在上一個程序中建立之 AdventureWorksTest 資料庫的連接字串。 若要進行這項工作,請依照下列步驟執行:

    1. 在 [伺服器總管] 視窗中,展開 [資料連接] 資料夾,然後選取 AdventureWorksTest 資料庫。

    2. 在 [屬性] 視窗中,選取 [連接字串] 屬性的值並複製它。 [屬性] 視窗與下圖類似:

      顯示連接字串的 [屬性] 視窗

    3. 將連接字串貼到 [目的資料庫的連接字串] 方塊中。

  5. 確定已選取 [從現有資料庫提取資料及/或結構描述] 核取方塊。

    當您按一下 [從 Web.config 匯入] 時,就會自動選取這個選項。 也會使用 Web.config 檔中的連接字串自動填入 [來源資料庫的連接字串] 方塊。

  6. 將 [資料庫指令碼編寫選項] 清單設定為 [結構描述和資料]。

    在部署之後,目的資料庫將會包含您之前建立專案時所建立的使用者帳戶認證。

  7. 在 [資料庫項目] 資料表中,選取 [AWLTConnectionString-Deployment] 資料列。

    預設值會顯示在方格底下的欄位中。

  8. 在 [目的資料庫的連接字串] 方塊中,輸入您針對 ApplicationServices 資料庫所輸入的相同目的連接字串。

    您會針對這兩個資料庫使用相同的目的連接字串。 因此在部署期間,建立及填入資料庫物件的指令碼全都會在相同的資料庫中執行。 結果是目的資料庫將會包含這兩個專案資料庫中的所有資料表和其他資料庫物件。

  9. 確定已選取 [從現有資料庫提取資料及/或結構描述] 核取方塊。

  10. 將 [資料庫指令碼編寫選項] 清單設定為 [結構描述和資料]。

  11. 按一下 [加入指令碼]。

  12. 在 [選取檔案] 對話方塊中,瀏覽至 C:\Temp\AdventureWorksGrant.sql,然後按一下 [開啟] (如果您在本逐步解說的先前步驟中,將指令碼儲存在不同的資料夾中,請使用該資料夾名稱)。

    AdventureWorksGrant.sql 檔案會加入至 [資料庫指令碼] 方格,如下圖所示:

    [封裝/發行 SQL] 中的 [資料庫指令碼] 方格

  13. 將變更儲存到 [封裝/發行 SQL] 索引標籤。

指定自訂指令碼的交易模式

預設會在交易中執行自動產生的指令碼。 但是,自訂指令碼則不會。 如果您混合使用交易模式,當指令碼在部署期間執行時,您可能會收到逾時錯誤。

在下列程序中,您會編輯專案檔來設定您在上一個程序加入的自訂指令碼,以便在交易中執行。

若要指定自訂指令碼應該在交易中執行

  1. 在 [記事本] 等文字編輯器中開啟 AdventureWorks.csproj 或 AdventureWorks.vbproj 檔案。

    若要瀏覽至專案目錄,請在 [方案總管] 中,以滑鼠右鍵按一下專案,然後按一下 [在 Windows 檔案總管中開啟資料夾]。

  2. 尋找與 [偵錯] 組建組態相關的 PropertyGroup 項目。

    此項目的開頭標記看起來與下列範例很相似:

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">

  3. 在 PropertyGroup 項目中尋找 PublishDatabaseSettings 項目。

  4. 在 PublishDatabaseSettings 項目中,尋找名為 AWLTConnectionString-Deployment 的 ObjectGroup 項目。

    這個 ObjectGroup 項目中的第二個 Object 項目代表 AdventureWorksGrant.sql 指令碼。

  5. 在代表 AdventureWorksGrant.sql 指令碼的 Object 項目中,將 Source 項目的 Transacted 屬性值變更為 True。

    AWLTConnectionString-Deployment ObjectGroup 項目現在會類似下列範例:

    <ObjectGroup Name="AWLTConnectionString-Deployment" Order="2">
      <Destination Path="..." />
      <Object Type="dbFullSql" Enabled="True">
        <PreSource Path="..." ScriptSchema="True" ScriptData="True"
          CopyAllFullTextCatalogs="False" ScriptDropsFirst="True" />
        <Source Path="..." Transacted="True" />
      </Object>
      <Object Type="dbFullSql" Enabled="False">
        <Source Path="...\AdventureWorksGrant.sql" Transacted="True" />
      </Object>
    </ObjectGroup>
    
  6. 儲存變更並關閉專案檔。

  7. 當 Visual Studio 詢問您是否想要重新載入專案時,請按一下 [重新載入] 按鈕。

變更部署之 Web.config 檔案中的連接字串

您會在下列程序中建立一個轉換檔,此檔案會使得部署的 Web.config 檔案中的資料庫連接字串設定為適合目的環境的正確值。

若要變更部署之 Web.config 檔案中的連接字串

  1. 在 [方案總管] 中,展開 Web.config 檔。

  2. 如果名為 Web.Debug.config 的檔案不存在,請在 Web.config 檔案上按一下滑鼠右鍵,然後按一下 [新增組態轉換]。

  3. 開啟 Web.Debug.config 檔案。

  4. 刪除包含 connectionStrings 項目的註解區塊,然後以下列標記取代。 使用您在 [目的資料庫的連接字串] 方塊中輸入的值來取代 [connection string]。

    <connectionStrings>
      <add name="ApplicationServices"
           connectionString="[connection string]"
           providerName="System.Data.SqlClient" 
           xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
      <add name="AWLTConnectionString"
           connectionString="[connection string]"
           providerName="System.Data.SqlClient" 
           xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
      </connectionStrings>
    
  5. 儲存並關閉 Web.Debug.config 檔案。

部署 Web 應用程式

下一步是建立套件來部署專案。 然後您可以使用 IIS 管理員將套件匯入 IIS 中。

若要建立套件並將它匯入 IIS 中

  1. 按一下 [專案] 功能表中的 [建置部署套件]。

    Visual Studio 就會建置專案,然後建立部署套件,並在 [輸出] 視窗中顯示記錄。 在套件建立過程中,Web 部署 dbFullSQL 提供者會建立兩個 SQL 伺服端指令碼,每一個來源資料庫各一個。 只有一個目的資料庫,而且當您匯入套件時,這兩個指令碼都會在該資料庫中執行。下列範例顯示 [輸出] 視窗內容的區段。

    ------ 已開始建置: 專案: AdventureWorks, 組態: Debug Any CPU ------

    ...

    ------ 發行已開始: 專案: AdventureWorks, 組態: Debug Any CPU ------

    已使用 Web.Debug.config 將 Web.config 轉換成

    obj\Debug\TransformWebConfig\transformed\Web.config。

    ...

    正在將所有檔案複製到底下暫存位置,以進行封裝/發行:

    obj\Debug\Package\PackageTmp。

    正在加入 MSDeploy.dbFullSql (MSDeploy.dbFullSql)。

    ...

    正在加入 child sqlScript (MSDeploy.dbFullSql/

    dbFullSql[@path='c:\users\username\documents\visual studio 2010\

    Projects\AdventureWorks\AdventureWorksCS\obj\Debug\AutoScripts\

    ApplicationServices-Deployment_SchemaAndData.sql']/sqlScript)。

    ...

    正在加入宣告的參數 'IIS Web Application Name'。

    正在加入宣告的參數 'ApplicationServices-Deployment Connection String'。

    正在加入宣告的參數 'AWLTConnectionString-Deployment Connection String'。

    已成功在下列位置將封裝 "AdventureWorks.zip" 建立為單一檔案

    :

    file:///c:/users/username/documents/visual%20studio%202010/

    Projects/AdventureWorks/AdventureWorksCS/obj/Debug/Package

    ...

    ========== 組建: 1 成功或最新狀態、0 失敗、0 略過 ==========

    ========== 發行: 1 成功、0 失敗、0 略過 ==========

  2. 請依照下列步驟,將部署套件的路徑複製到 [Windows 剪貼簿]:

    1. 如果您沒有在 [方案總管] 內看到 obj 資料夾,請在 [方案總管] 工具列上按一下 [顯示所有檔案] 按鈕。

    2. 依序展開 obj 資料夾、Debug 資料夾和 Package 資料夾。

    3. 選取 AdventureWorks.zip 檔案。

    4. 在 [屬性] 視窗中,選取並複製 [完整路徑] 欄位的值。

  3. 在 [Windows 控制台] 中,按一下 [系統管理工具],然後按一下 [Internet Information Services (IIS) 管理員]。

    IIS 管理員便會開啟,而且 [連線] 面板中會選取您的電腦。

  4. 在 [連線] 面板中,展開電腦的節點、展開 [站台] 資料夾,然後選取 [預設的網站]。

    IIS 管理員現在與下圖類似:

    IIS 管理員

  5. 在 [動作] 面板中,按一下 [匯入應用程式]。

    注意事項注意事項

    通常在安裝 Web 部署 時會出現這個連結,而且當您安裝 Visual Studio 時預設會安裝 Web 部署。如果遺漏此連結,請在 [控制台] 中開啟 [程式和功能],並以滑鼠右鍵按一下 [Web 部署工具],然後按一下 [修復]。

    [匯入應用程式封裝] 精靈隨即開啟,並顯示 [選取封裝] 對話方塊。

  6. 在 [封裝路徑] 方塊中,貼上您在稍早的步驟中所複製的路徑。

    [選取封裝] 對話方塊與下圖類似:

    [選取封裝] 對話方塊

  7. 按 [下一步]。

    [選取封裝的內容] 對話方塊隨即顯示,如下圖所示:

    [選取封裝內容] 對話方塊

  8. 按 [下一步]。

    [輸入應用程式封裝資訊] 對話方塊隨即顯示,如下圖所示:

    [輸入應用程式封裝資訊] 對話方塊

    應用程式路徑和連接字串的預設值是您在 [封裝/發行 Web] 索引標籤中所設定的值。

  9. 按 [下一步]。

  10. 如果您看到一個對話方塊要求您確認 ASP.NET 4 是否已安裝在電腦上 (如下圖所示),請將 ASP.NET 4 應用程式集區指派給預設的網站。

    ASP.NET 4 未在 IIS 中註冊

    若要執行這項操作,請依照下列步驟執行:

    1. 在 [輸入應用程式封裝資訊] 對話方塊中,按一下 [取消]。

    2. 在 Windows [開始] 功能表中,以滑鼠右鍵按一下 [命令提示字元],然後按一下 [以系統管理員身分執行]。

    3. 瀏覽至 .NET Framework 4 的適當資料夾,例如:

      C:\Windows\Microsoft.NET\Framework\v4.0.30319

      如果電腦上的 Windows 資料夾位於不同的磁碟機,請以適當的磁碟機代號取代 C。 如果是 64 位元作業系統,請使用 Framework64 而不要使用 Framework。

    4. 輸入 aspnet_regiis -iru -enable 命令,然後按 ENTER 鍵。

      此工具會將 ASP.NET 向 IIS 註冊。 如需詳細資訊,請參閱 ASP.NET IIS 註冊工具 (Aspnet_regiis.exe)

    5. 關閉 [命令提示字元] 視窗。

    6. 在 IIS 管理員中,選取 [預設的網站],然後按一下 [動作] 面板中的 [基本設定]。

    7. 將 [應用程式集區] 變更為 [ASP.NET v4.0] 應用程式集區 (當您完成本逐步解說之後,您可以將其設定回預設值)。

    8. 重複上述安裝套件的步驟,從 IIS 管理員上 [動作] 面板的 [匯入應用程式] 超連結開始。

    當 Web 部署 安裝套件時,將會顯示 [安裝進度與摘要] 對話方塊。 此對話方塊會顯示安裝過程的進度列。 當安裝程序完成時,此對話方塊會顯示已執行之動作的記錄,如下圖所示:

    [安裝進度和摘要] 對話方塊

  11. 按一下 [完成]。

測試部署的 Web 應用程式

本逐步解說的最後一個步驟是確認 Web 應用程式已正確部署。

若要測試 Web 應用程式

  1. 開啟瀏覽器並輸入下列 URL:

    http://localhost/AdventureWorks

    Default.aspx 頁面隨即顯示。 它看起來就像是您在 Visual Studio 中執行時所呈現的內容。 產品表格呈現 AdventureWorksLT 資料庫已部署成功。

  2. 按一下 [登入] 連結。

  3. 在 [使用者名稱] 和 [密碼] 中都輸入 newuser,然後按一下 [登入]。

    Default.aspx 頁面再度顯示,而且 [歡迎 newuser!] 會顯示在 [登出] 連結旁邊。 這表示 ASP.NET 成員資格資料庫已部署成功。

後續步驟

在此逐步解說中,您已建立含有兩個資料庫的檔案系統 Web 應用程式專案。 您將它部署到使用單一資料庫的 IIS Web 應用程式。

本系列的下一個逐步解說是逐步解說:使用 Web 部署套件部署 Web 應用程式專案 (第 2 部分,共 4 部分)。 在該逐步解說中,您會變更其中一個資料庫的結構、變更網頁,然後部署變更。

請參閱

概念

ASP.NET 部署內容對應