9

我有一个在 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

4

9 回答 9

21

这是(可以说)处理此问题的最佳方法...无需下载或安装任何附加功能。这适用于 Visual Studio 2012(终极版)

  1. 转到解决方案中的主项目(默认/状态项目)
  2. 右键单击并单击属性/选择“您的项目”>>项目>>属性
  3. 单击“发布”选项卡以查看发布选项
  4. 转到“安装模式和设置”>>单击“应用程序文件”并打开对话框
  5. 向下查找设置为“发布状态”>先决条件的项目
  6. 您会发现 ReportViewer 和其他几个文件设置为先决条件
  7. 在下拉列表中将所有发布状态更改为“包含”
  8. 我知道您只需要 ReportViewer Only 但这将消除我遇到的其他潜在问题
  9. 现在所有必需的文件都将添加到您的安装设置中,一切顺利!
  10. 出于兴趣,您可以在“安装模式和设置”>>选项> Mainfests>创建桌面快捷方式下更改包含桌面图标
于 2014-11-25T12:11:35.653 回答
4

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

于 2013-05-13T22:06:43.907 回答
2

我们遇到了同样的问题,但问题是,它会自动将它添加到引用中(microsoft.reportviewer.processingObjectModel),如果你从发布属性(属性->发布->应用程序文件)中排除它,它可能会修复它。

于 2014-06-20T15:21:11.667 回答
1

更好的选择是安装 Microsoft Report Viewer 2010 SP1 Redistributable Package,网址为: http: //www.microsoft.com/en-us/download/details.aspx?id=6610

您的用户也需要安装此软件包。如果您只是复制和粘贴 MS DLL,则每次升级应用程序时都必须重新部署它。

于 2013-08-13T21:04:11.580 回答
1

如果您使用的是 WinForms,对我来说,当它被用于通过单击一次部署的报表查看器时,担心在 GAC 中安装此 DLL 似乎毫无意义。这不是一个大文件,您可能将它用作表单上的报表查看器控件,仅此而已。一种可能的解决方案是执行以下操作:

  1. 在 Visual Studio 中,转到项目中程序集的引用Microsoft.ReportViewer.ProcessingObjectModel并找到该程序集文件夹的文件路径。我的是版本 12,所以我的文件路径是C:\windows\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel\12.0.0.0__89845dcd8080cc91
  2. 复制程序集所在文件夹的文件路径并从项目中删除引用(右键单击引用并选择“删除”)。
  3. Win + R 获得“运行”提示。将该文件夹路径粘贴到那里并执行以直接跳转到该 DLL 的文件夹。
  4. 找到 DLL,它应该是该文件夹中的唯一文件,并将其复制到您的 Visual Studio 项目文件夹中。您不应该关心驱动器上消耗的 100kb 额外空间,而且我认为此 DLL 不是您需要更新的。
  5. 返回 Visual Studio,右键单击引用,添加引用,然后在项目文件夹中浏览该 DLL。添加引用后,请确保将 Copy Local 属性设置为 true。
  6. 清理并重建,在本地计算机上测试应用程序,然后再次部署 ClickOnce。

现在,当用户使用 ClickOnce 安装您的应用程序时,该引用根本不会引用 GAC,并且不需要依赖此 DLL 的先决条件检查/安装过程,因为您已将其直接包含在已发布的应用程序中。

于 2017-01-27T16:11:03.893 回答
0

这取决于您使用的设置类型,但基本上,这意味着您的服务器或计算机中缺少所需的库。要使应用程序能够从服务器下载(在客户端-服务器架构中),您需要在项目中包含文件。

  1. 转到您的应用程序选项并找到“发布”选项卡
  2. 点击“应用程序文件”
  3. 在随后出现的对话框中,选择包含您想要包含的所有库(或在客户端计算机上运行您的应用程序所需的库,然后单击“确定”)
  4. 构建您的应用程序,然后发布到服务器。

我希望这对你有用,它在 Visual Studio 2010 Professional 中对我有用

于 2014-11-26T17:34:28.037 回答
0

在 Windows 10 的情况下,安装 Microsoft Report Viewer 2010 SP1 将无法正常工作,如 user1236560 所述。首先,您需要安装 SQL Server 管理对象 (SQLSysClrTypes.msi) 的先决条件,需要根据您的硬件在 x86 和 x64 之间进行选择。您可以在以下网址找到它: http://origin.www.ms.akadns.net/downloads/en/details.aspx?FamilyID= 16BC778C-357B-46E9-8356-D575903AC831

之后,您需要安装可以在以下位置找到的 MICROSOFT® REPORT VIEWER 2012 RUNTIME:https ://www.microsoft.com/en-us/download/details.aspx?id=35747

这两个软件包都必须安装。

于 2016-03-30T11:26:08.200 回答
0

我遇到了这个错误


需要系统更新

无法安装或运行应用程序。应用程序要求首先在全局程序集缓存 (GAC) 中安装程序集 Microsoft.ReportViewer.ProcessingObjectModel 版本 11.0.0.0。

请联系您的系统管理员。


安装由 Visual Studio 制作的应用程序时弹出此错误,这意味着我是客户之一

我有 Visual Studio 2015 和 Microsoft SQL Server 2014,但不知道 Crystal Reports 和其他相关内容。我确实检查了我的 .NET Framework 版本,即 4.6.2 版。

我下载了几个扩展文件和可分发文件,但并没有解决我的问题。

我不知道我是否普遍解决了这个问题,但我确实成功安装了应用程序

所以我下载并安装了ff:

  • SAP Crystal Report for Visual Studio 2015(最新,只是为了确保)
  • Microsoft SQL Server 2012 的 Microsoft System CLR 类型
  • Microsoft 报表查看器 2012 运行时。

这个问题花了我大约 2 天的时间来解决,下载和安装扩展文件和分布式文件时要小心,因为它也会占用一些空间。

于 2016-12-14T21:36:15.077 回答
-2

最佳答案是:

这是(可以说)处理此问题的最佳方法...无需下载或安装任何附加功能。这适用于 Visual Studio 2012(终极版)

  1. 转到解决方案中的主项目(默认/状态项目)
  2. 右键单击并单击属性/选择“您的项目”>>项目>>属性
  3. 单击“发布”选项卡以查看发布选项
  4. 转到“安装模式和设置”>>单击“应用程序文件”并打开对话框
  5. 向下查找设置为“发布状态”>先决条件的项目您会发现 ReportViewer 和其他几个文件设置为先决条件
  6. 在下拉列表中将所有发布状态更改为“包含”。

我知道您只需要 ReportViewer Only 但这将消除我遇到的其他潜在问题现在所有必需的文件都将添加到您的安装设置中,一切顺利!

出于兴趣,您可以在“安装模式和设置”>>选项> Mainfests>创建桌面快捷方式下更改包含桌面图标

它减轻了我所有的头痛。

于 2015-11-05T11:10:25.567 回答