部署報表和 ReportViewer 控制項

您可以在應用程式中,自由地散佈報表和 ReportViewer 控制項。 部署需求會隨著控制項類型及報表是設成本機或遠端處理而不同,不同的幅度非常大。 您可以將在本機處理和在遠端處理的報表部署在相同應用程式中。

轉散發 ReportViewer 控制項

ReportViewer 控制項可轉散發檔是一個名稱為 ReportViewer.exe 的自動解壓縮檔,其中包括 .msi 檔和其他檔案。 您可以從 Microsoft 下載中心下載 ReportViewer.exe。

注意事項注意事項

不同的 ReportViewer 控制項可轉散發檔版本可安裝在同一部電腦上。

當您執行 ReportViewer.exe 時,下列檔案會安裝在部署電腦的全域組件快取資料夾中。

  • Microsoft.ReportViewer.Common.dll

  • Microsoft.ReportViewer.ProcessingObjectModel.dll

  • Microsoft.ReportViewer.WebForms.dll

  • Microsoft.ReportViewer.WinForms.dll

  • Microsoft.ReportViewer.DataVisualization.dll

執行 ReportViewer.exe

您使用的控制項類型決定了 ReportViewer.exe 應該在哪裡執行。

  • 如果是 ASP.NET 應用程式,請在主控應用程式的 Web 伺服器上執行 ReportViewer.exe。 這必須由伺服器管理員執行。

  • 如果是 Windows Form ClickOnce 應用程式,請將此控制項當做應用程式必要元件來併入,讓其可以自動與 ClickOnce 應用程式一起安裝。 您可以使用啟動載入器應用程式將這個步驟自動化:

    1. 開啟專案屬性頁面。

    2. 按一下 [發行] 索引標籤,再按一下 [必要條件] 按鈕。

    3. 選取 [Microsoft Visual Studio 報表檢視器],按一下 [SQL Server CLR 型別],再按一下 [確定]。

    4. 確定已核取 [從元件廠商的網站下載必要條件] 選項。 這是唯一支援的選項。 然後按一下 [確定]。

    5. 按一下 [選項] 按鈕。

    6. 在 [部署] 索引標籤中,指定部署網頁並選取 [每次發行之後自動產生部署網頁] 核取方塊。

    7. 按一下 [確定] 並發行應用程式。

    當您存取 ClickOnce 應用程式時 (例如,透過網頁),會在您的用戶端電腦上執行檢查,查看是否已安裝 ReportViewer 必要條件。 如果尚未安裝,則安裝程式會進行安裝。

部署當地語系化版本的 ReportViewer 控制項

ReportViewer 控制項可轉散發檔當地語系化為十種 Visual Studio 語言:簡體中文、繁體中文、法文、德文、義大利文、日文、韓文、葡萄牙文 (巴西)、俄文和西班牙文。 如果您安裝當地語系化版本的 Visual Studio,可以從 Microsoft 下載中心下載任何當地語系化的 ReportViewer 可轉散發套件。

若要在 ReportViewer 控制項中使用其他語言,您可以實作 IreportViewerMessages3 或 IreportViewerMessages3 介面來建立特定語言的工具提示及其他使用者介面文字。

ms251723.collapse_all(zh-tw,VS.140).gif偵測瀏覽器語言和文化特性設定

如果您要使用 ReportViewer Web 伺服器控制項來主控瀏覽器應用程式中的報表,則當您想要提供符合瀏覽器語言和文化特性設定的使用者介面時,請務必設定執行緒文化特性。 ASP.NET 不會根據用戶端提供的標頭資訊來設定執行緒文化特性。 若要讓應用程式符合瀏覽器的文化特性設定,您可以在應用程式的程式碼中設定 Thread.CurrentCultureThread.CurrentUICulture。 如需有關如何在應用程式中處理文化特性設定的詳細資訊,請參閱<System.Globalization.CultureInfo>。

報表檢視器 Web 伺服器控制項的部署考量

將 ASP.NET 應用程式部署在 Web 伺服陣列中需要其他組態,以便確保能夠維護整個伺服陣列的檢視狀態。 如果您將 ReportViewer Web 伺服器控制項部署在 Web 伺服陣列環境中,您應該在應用程式的 Web.config 檔中指定 machineKey 元素。 如需詳細資訊,請參閱<ReportViewer 的 Web.config 設定>。

在 ReportViewer Web 伺服器控制項中處理的報表具有相異的瀏覽器需求。 瀏覽器相容性問題可能會影響到某些報表功能種類的可用性。 如需詳細資訊,請參閱<ReportViewer Web 伺服器控制項的瀏覽器支援>。

散發報表檔案

除非您在執行階段透過使用 LocalReport.LoadReportDefinitionServerReport.LoadReportDefinition 方法動態產生用戶端報表定義,否則,根據報表檢視器控制項的處理模式,您有一些不同選項可隨著應用程式散發報表檔案。

本機處理的報表可以儲存在網路資料夾,也可以編譯成應用程式可執行檔。 在遠端伺服器處理的報表通常會儲存在 SQL Server Reporting Services 報表伺服器中。 除非您要使用 ServerReport.LoadReportDefinition 方法,從某個位置 (而不是報表伺服器) 手動載入報表,否則應用程式中沒有包含報表檔案。 若要部署發行在報表伺服器的報表,您必須提供進行中的報表伺服器存取權,且必須確保應用程式使用者有權檢視這部伺服器中的報表。 部署伺服器報表需要了解報表伺服器所用的驗證延伸模組,以及用於存取內容和作業的角色型授權模型。 如需詳細資訊,請參閱<伺服器報表的部署考量>。

請參閱

概念

加入和設定 ReportViewer 控制項

ReportViewer 的 Web.config 設定

為非同步轉譯設定 ReportViewer

設定和使用 ReportViewer 工具列