Dot-Net-4.0

應用程序要求首先在全域程序集記憶體中安裝程序集 microsoft.reportviewer.processingObjectModel 版本 11.0.0.0

  • January 27, 2017

我有一個在 Visual Studio 2012 中創建的小型 Windows 窗體應用程序,它使用 ReportViewer 版本 11.0.0.0。

應用程序目標框架為.NET 4.0,其部署方式為ClickOnce

在我的電腦上安裝但在客戶端機器上,安裝失敗並出現錯誤

應用程序要求首先在全域程序集記憶體中安裝程序集 microsoft.reportviewer.processingObjectModel 版本 11.0.0.0。

在客戶端機器上,我已經安裝了

  • .NET 4.0
  • 報告查看器 2010
  • Microsoft Report Viewer 2012 執行時 CTP
  • SQLSYSCLRTYPES.msi

在項目應用程序文件設置中,我已將microsoft.reportviewer.processingObjectModel 發布狀態設置為Include(Auto),在引用中我還將其Copy Local屬性設置為True

我錯過了什麼?

我什至按照這裡的說明http://msdn.microsoft.com/en-us/library/ms251723.aspx

您缺少 ProcessingObjectModel.dll 文件在 gac 程序集 C:\windows\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel 中找到版本 11.0.0.0 並將其添加到 bin 目錄。

這是(可以說)處理此問題的最佳方法…無需下載或安裝任何附加功能。這適用於 Visual Studio 2012(終極版)

  1. 轉到解決方案中的主項目(預設/狀態項目)
  2. 右鍵點擊並點擊屬性/選擇“您的項目”>>項目>>屬性
  3. 點擊“發布”選項卡以查看發布選項
  4. 轉到“安裝模式和設置”>>點擊“應用程序文件”並打開對話框
  5. 向下查找設置為“發布狀態”>先決條件的項目
  6. 您會發現 ReportViewer 和其他幾個文件設置為先決條件
  7. 在下拉列表中將所有發布狀態更改為“包含”
  8. 我知道您只需要 ReportViewer Only 但這將消除我遇到的其他潛在問題
  9. 現在所有必需的文件都將添加到您的安裝設置中,一切順利!
  10. 出於興趣,您可以在“安裝模式和設置”>>選項> Mainfests>創建桌面快捷方式下更改包含桌面圖示

引用自:https://stackoverflow.com/questions/16476814