Visual Studio 2012html
Visual Studio Express 2012 for Webweb
與 的Visual Studio 2010 Visual Studio Web發佈更新 數據庫
與 的Visual Web Developer 2010 Express Visual Studio Web發佈更新 express
您能夠部署到任何如下目標: 瀏覽器
對於承載提供程序。 安全
對於在開發計算機上的IIS做爲一個測試環境。 服務器
到公司的內部網絡上的服務器。 網絡
使用 發佈 Web 嚮導,若要配置 Web 應用程序項目的部署在Visual Studio中,能夠建立一個或多個 發佈配置文件。 發佈配置文件中指定要部署到的服務器,必需的憑據登陸到服務器,部署的數據庫和其餘部署選項。 當您準備好發佈時,能夠選擇要使用並單擊 發佈 按鈕在嚮導或在 Web一鍵式發佈 工具欄的配置文件。 架構
部署網站一般須要除了建立配置文件以外的其餘準備工做。 本主題不包括有關可能須要執行的其餘任務的信息。 例如,指定生成和合並選項在 打包/發佈 Web 選項,不在發佈配置文件。 app
許多宿主提供程序提供可用於簡化建立發佈配置文件處理的一個.publishsettings文件。 若是使用.publishsettings文件,請確保您具備最新版本,則此開始以前。 (例如,所以,若是您最初建立了一個賬戶,不用SQL Server數據庫稍後添加的代碼,您必須下載該.publishsettings的最新版本,以確保它包含鏈接字符串須要。)
在 解決方案資源管理器,請右擊該項目並選擇 發佈 打開 發佈 Web 嚮導。
若是還沒有建立任何配置文件,該向導在 配置文件 選項卡中打開。 不然,它會 預覽 選項卡中打開。 在這種狀況下,建立一個新的配置文件必須先單擊 配置文件 選項。
注意到 配置文件 選項的 管理配置文件 按鈕。 在建立了一個配置文件以後,可使用此按鈕重命名或刪除其重命名爲。
執行如下過程之一,具體取決於您是否具備一個.publishsettings文件:
單擊「導入」。
導入發佈設置 對話框打開。
選擇.publishsettings文件,而後單擊 打開。
在的 選擇或導入一個發佈配置文件 下拉列表中,選擇 <New …>,而後輸入一個名稱該配置文件在 新建配置文件 對話框。
發佈 Web 嚮導自動前進到 鏈接 選項。
若是使用了一個.publishsettings文件,此選項卡上的字段已填充。 在這種狀況下,請跳過此過程和 驗證鏈接。
選擇一個值。發佈方法 列表。
由於它能夠自動化大大小部署任務,Web Deploy爲建議的發佈方法。 可是,在此選擇方案以前,請確保部署的承載提供程序或服務器支持Web部署。
若是選擇Web部署,而且您自己是發佈到測試的IIS計算機,則必須在計算機上具備管理權限,而且,Visual Studio必須運行在控制器模式。 (打開Visual Studio在控制器模式下,右擊在Windows 開始 菜單的Visual Studio圖標並選擇 以管理員身份運行。)
若是選擇Web部署,而且您自己是發佈到web服務器,確保服務器爲Web部署代理服務(MSDepSvc,遠程代理服務)設置爲,所以,您在目標服務器上具備管理權限。
屏幕快照和大多數本主題中的步驟假定,您選擇了Web Deploy發佈方法。 若是要部署到不支持Web的承載提供程序將部署,能夠選擇FTP。 在這種狀況下,命令的某些如下步驟會有所不一樣。 服務 URL 和 站點/應用程序 字段中 目標位置 字段交換,則輸入FTP或FTPS URL。 若是匿名登陸,容許您不須要輸入用戶名和密碼。 若是須要被動模式,請編輯發佈配置文件(.pubxml)文件並更改 FtpPassiveMode 元素的值設置爲 true。
一個 發佈方法 選項是 Web部署包。
在 服務 URL 框中,輸入Web Deploy可使用發佈應用程序的URL。
若是要發佈到託管公司,該公司提供此值。 它能夠是任何如下格式:
託管公司 URL(例如,contoso.com)
https:// HostingCompanyURL (例如,https://contoso.com)
https:// HostingCompanyURL :8172/msdeploy.axd (例如,https://contoso.com:8172/msdeploy.axd)
若是自己是發佈到測試的IIS計算機,輸入 localhost 或您的計算機的名稱。
若是自己是發佈到web服務器,請輸入如下URL之一:
http:// ServerName
http:// 服務器名稱 /msdeployagentservice
在 站點/應用程序 框中,輸入IIS網站和應用程序的名稱。
若是要發佈到託管公司,該公司提供此值。 它一般是域名(例如,contoso.com)或域和應用程序名稱(例如,contoso.com/MyApplication)。
若是自己是發佈到測試的IIS計算機,也能夠鏈接到您的內部網絡上的服務器,請輸入網站和應用程序名稱,則會在 IIS 管理器。 例如,所以,若是要發佈到IIS的默認網站,而且,若是應用程序名稱爲MyApplication,輸入默認網站/myapplication "。
在 用戶名 和 密碼 框中,輸入具備執行足夠的權限在目標web服務器的部署任務的賬戶憑據。
若是要發佈到託管公司,該公司提供這些值。
若是不但願在每次提示您輸入密碼您發佈,選擇 保存密碼 複選框。
密碼在PublishProfiles文件夾的一.pubxml.user文件已加密並存儲。 若是使用源代碼管理,默認狀況下該文件從源代碼管理中排除。
若是但願Visual Studio中部署的應用程序的URL自動打開您的默認瀏覽器,在部署完成以後,輸入URL。目標URL 框。
單擊 驗證鏈接 驗證您可以創建與服務器的鏈接使用您輸入的設置。
若是您看到 證書錯誤 對話框中,確保要發佈到正確的URL (檢查 服務 URL 和在 證書錯誤 對話框的服務器名稱)。 若是設置是否正確,請選擇 保存Visual Studio之後的會話的此證書,這樣您就得到相同的錯誤消息,而後選擇 接受證書。 (此錯誤意味着承載提供程序選擇避免購買要部署的URL的SSL證書成本。 使用有效證書,若是您但願生成一個安全鏈接,請聯繫您的承載提供程序。)
若是Visual Studio沒法生成鏈接,請確保沒有從您的計算機防止鏈接(例如set代理或的firewall),而後重試。 若是仍沒法進行鏈接、聯繫人承載提供程序或維護目標服務器的人員。
在 鏈接 選項卡上,單擊前進到 設置 選項的 下一步。
在的 配置 下拉列表中,選擇生成配置部署。
一般部署發佈版本。 調試版本沒有效地運行且一般處於選中狀態,只有在部署到測試環境時,您將在該環境中須要調試。
若是要刪除沒有匹配的文件在計算機的web項目在目標服務器上的文件,選擇 刪除其餘文件在目標 複選框。
警告 |
---|
若是選擇此選項,請確保您使用預覽功能,以便文件要刪除的您事先看到,在部署以前。 所需的行爲是Web Deploy將刪除能夠在您的項目已刪除的目標服務器的文件。 可是,在源文件夾和目標文件夾下的整個文件夾結構進行比較,因此,而且Web Deploy某些狀況下可能刪除不要移除的文件。 例如,所以,若是您有一個 Web 應用程序在服務器的子文件夾,當您將項目部署到根文件夾,子文件夾中刪除。 您可能有主站點中的一個項目。contoso.com 和博客上的另外一個項目。contoso.com/blog。 博客應用程序位於子文件夾中。 若是選擇 刪除其餘文件在目標,當您部署主站點,博客應用程序將被刪除。 到另外一個示例,您的App_Data文件夾可能會意外刪除。 某些數據庫(如SQL Server compact存儲在App_Data文件夾中的數據庫文件。 在後面的部署不想保留這樣將數據庫文件複製您在中選擇 打包/發佈 Web 選項的 排除App_Data 的初始部署以後。 在執行後,所以,若是您有 刪除其餘文件在目標 時,您的數據庫文件和App_Data文件夾中刪除,下次發佈。 |
設置 選項的 數據庫 部分沒有爲FTP,文件系統顯示,而且,FPSE發佈方法。 若是選擇了這些方法之一,則跳過下面的過程並手動部署數據庫。
若是選擇了Web Deploy發佈方法,您在項目中使用的每一個數據庫看到一項。 此圖顯示使用兩個數據庫的項目。
若是您的項目所使用的數據庫缺乏,請確保您具備的Web.config文件中的鏈接字符串。 設置 選項列表將肯定的由Web.config文件中的鏈接字符串或者是由實體框架代碼的第一個上下文選件類的數據庫。
說明 |
---|
若是清除 包括在「打包/發佈 SQL」選項卡中配置的全部數據庫 複選框,數據庫中輸入的部署在此處設置不起做用。 |
執行中顯示列表中的每一個數據庫的下列程序。
在鏈接字符串框中,選擇或輸入指向目標數據庫的鏈接字符串。
組合框包含鏈接字符串在.publishsettings文件(若是使用的建立該配置文件),從其餘線程將在項目的配置文件和從的數據庫具備訪問在 服務器資源管理器。 能夠選擇其中一個,手動輸入鏈接字符串或者單擊省略號打開 目標鏈接字符串 對話框。
若是鏈接字符串是由實體框架數據庫或設計首先獲取首先的數據庫,不要指定鏈接字符串的完整entity framework版本示。 Visual Studio將使用您輸入此處執行部署的鏈接字符串,則在部署的Web.config文件構造entity framework鏈接字符串中。
若是不但願訪問由應用程序在運行時使用的鏈接字符串,清除 使用此鏈接字符串在運行時 複選框。
當 使用此鏈接字符串在運行時 複選框後,部署過程更改此數據庫的鏈接字符串在部署的Web.config文件中對組合框中的值。 在大多數狀況下是正確的選擇,可是,在某些狀況下可能但願應用程序鏈接到數據庫使用受限權限。 在這種狀況下,清除此複選框和建立更改在部署的Web.config文件中的鏈接字符串到的一個Web.config轉換所需它是在運行時。
若是使用entity framework代碼的第一個上下文選件類訪問數據庫,可使用 第一個代碼遷移 部署數據庫和更新到數據庫架構。 爲此,請選擇 執行第一個代碼遷移(在應用程序啓動時運行)。
當您使用第一個代碼遷移部署數據庫時,未完成該數據庫在實際部署過程。 可是,部署在目標網站處理更新Web.config文件,以便第一個代碼遷移使用 MigrateDatabaseToLatestVersion 初始值設定項選件類。 當訪問數據庫的應用程序第一次在部署,遷移後自動建立數據庫或更新數據庫架構與最新版本。 若是應用程序執行遷移 Seed 方法,運行該方法時,將在數據庫中建立後或更新架構。
說明 |
---|
若是應用程序在中等信任在部署(爲true的大多數第三方承載提供程序)的環境中運行,請確保使用entity framework 5版或更高版本。 E-F 4.3和發行版本的E-F 5要求徹底信任使數據庫架構更新。 在面向ASP.NET 4及更高版本的項目中使用E-F 5。 |
若是已經實現 DbMigrationsConfiguration 選件類,才能使用此選項。 若是錯誤消息指示 DbMigrationsConfiguration 選件類個,必須啓用第一個代碼遷移,才能完成配置數據庫部署以前。
若是該項目實現多個 DbMigrationsConfiguration 有關上下文選件類類,則沒法配置此數據庫的部署在發佈配置文件。
在鏈接的憑據字符串您在鏈接字符串框中輸入必須表示一個管理用戶賬戶。 此鏈接字符串來建立數據庫,首次部署並更新數據庫架構,在部署數據庫更改時。 若是但願應用程序訪問數據庫在具備有限權限的運行時,清除 使用此鏈接字符串在運行時 複選框和建立指定鏈接字符串所需應用程序在運行時使用的一個Web.config轉換。
若是要部署SQL Server compact數據庫,屬性,而且,若是數據庫的鏈接字符串在Web.config文件中,必須配置Web.config轉換建立一個附加鏈接字符串。 它更新數據庫架構時,請第一個代碼將使用此鏈接字符串。 (若是不執行手動建立此鏈接字符串,Visual Studio會自動建立它,可是,自動建立的鏈接字符串具備錯誤的 providerName 值。)此轉換的XML相似於如下示例:
經過使用遷移,
若是不使用第一個代碼上下文選件類訪問數據庫,而且,若是它是SQL Server或SQL Server express數據庫,而且,要與應用程序一塊兒部署數據庫,選擇 更新數據庫。
此選項使用dbDacFx Web部署提供程序。 在初始部署期間,數據庫架構建立的。 在後續部署期間,目標數據庫與源數據庫進行比較,而且,更新目標數據庫架構與源數據庫。
數據在數據庫表中未自動部署。 若是須要部署到目標數據庫,建立一個自定義數據庫腳本並將其配置爲運行在部署期間,在 [自動更新架構] 腳本運行以後,以下面的步驟所述。
默認狀況下,dbDacFx提供程序不會自動提交會致使數據丟失的架構更改,例如刪除列或表。 若是提供程序檢測會致使數據丟失的更改,部署失敗,而且該緣由在Visual Studio 輸出 窗口中顯示。 若是此操做,請建立一個自定義腳本執行所需的更新架構,並將其配置爲運行,以 [自動更新架構] 腳本運行以前,以下面的步驟所述。 爲運行腳本的替代,在發佈該項目以前,在部署期間,則能夠鏈接到 SQL Server 對象資源管理器 的目標數據庫和交互地更新數據庫。
若是要部署到託管公司,請確保該託管公司讓Web deploy 3.0並在該服務器上安裝dbDacFx提供程序。
Web deploy 3.0和dbDacFx提供程序
此軟件只須要在目標web服務器,不在目標數據庫服務器。 若是要部署到在開發計算機上的IIS您沒必要安裝此軟件默認狀況下,由於它隨 Visual Studio 20十二、 Visual Studio Express 2012 for Web或 Visual Studio Web 發佈更新。
在鏈接的憑據字符串您在鏈接字符串框中輸入必須表示一個管理用戶賬戶。 此鏈接字符串來建立數據庫,首次部署並更新數據庫架構,在部署數據庫更改時。 若是但願應用程序訪問數據庫在具備有限權限的運行時,清除 使用此鏈接字符串在運行時 複選框和建立指定鏈接字符串所需應用程序在運行時使用的一個Web.config轉換。
若是有多個數據庫中的項目,可是,您已部署的應用程序只想使用數據庫,您一般能夠合併多個源數據庫到一個目標數據庫。 經過選擇 更新數據庫 並進入每一個的相同目標鏈接字符串執行該源數據庫。 能夠將數據庫,只要不對象名稱衝突,例如相同在多個源數據庫方面的表名。
若是選擇了 更新數據庫 在部署期間,所以,要運行自定義SQL腳本,請單擊 配置數據庫更新。
配置數據庫更新 對話框打開。
使用 將SQL腳本 連接向上或向下添加腳本、箭頭、更改它們的運行順序和複選框來指定個列出的腳本在部署期間,是否將運行。
標記 [自動更新架構] 的腳本將自動生成,而後運行在部署過程當中更新目標數據庫的架構與源數據庫。 能夠指定自定義腳本以前運行,則,或者兩個在自動腳本以前或以後運行。 在一個自定義腳本將添加以後,下圖顯示 配置數據庫更新 對話框。
若是數據庫是SQL Server express或在App_Data文件夾中的SQL Server compact數據庫文件,而且,若是您不但願將文件複製到目標服務器,打開 項目屬性 窗口的 打包/發佈Web選項 並選擇 從App_Data文件夾中排除文件 複選框。 確保在 打包/發佈 Web 選項選定的生成配置,若選擇此選項是用於部署指定在 發佈 Web 嚮導的 設置 選項相同的一個。
若是數據庫是SQL Server compact數據庫,則可能還須要確保,數據庫引擎部署。
在完成配置全部數據庫,單擊前進到 預覽 選項的 下一步。
若是要查看列表文件將複製並從承載提供程序已刪除的預覽,單擊 啓動預覽。
在短等待,文件列表中出現一個選項以後。
首次發佈,須要運行應用程序的全部文件複製到承載提供程序。 在發佈更新,所以,只有已更改的文件複製。 (除Web.config文件中:Visual Studio沒法預測哪些更改可能由轉換,而且Web部署參數,它始終這樣將Web.config文件複製。)若是選擇了 刪除其餘文件在目標 選項,檢查預覽列表尤爲重要,在發佈以前。
若是您爲數據庫選擇了 更新數據庫,而且但願找出將對該數據庫,請單擊該數據庫右側顯示的 預覽數據庫 連接。 (不能預覽部署使用entity framework第一個代碼遷移。)的更改數據庫預覽 對話框顯示在目標數據庫中運行的腳本。 若是數據庫大,它能夠採用一分鐘或更長此預覽的會出現。
當您準備部署項目時,請單擊 發佈。
若是您還沒有驗證鏈接,在配置了 鏈接 選項,您可能會發現 證書錯誤 對話框。
當部署過程完成後,輸出 窗口指示部署是否成功。
若是輸入 目標URL 的值在 鏈接 選項,則默認瀏覽器對該URL打開在部署成功後。
若是部署失敗,用於錯誤消息請參見 錯誤列表 窗口。
本文來自於:轉http://www.cnblogs.com/-Apple/archive/2013/01/03/2843410.html