在SSRS 2008R2下引用System.Core(4.0)时如何解决报告部署错误

时间:2013-03-07 00:13:49

标签: ssrs-2008 reporting-services

前言:

开发环境:Visual Studio 2010 with BIDS + MSSQL 2012 on local box

生产环境:MSSQL 2008 R2 for Live Report Server

我在报表中引用System.Core时遇到部署报表的问题。错误如下。

  

加载代码模块时出错:'System.Core,Version = 4.0.0.0,   Culture = neutral,PublicKeyToken = b77a5c561934e089'。细节:不能   加载文件或程序集'System.Core,Version = 4.0.0.0,Culture = neutral,   PublicKeyToken = b77a5c561934e089'或其依赖项之一。这个   程序集由比当前加载的运行时更新的运行时构建   并且无法加载。

我在报表中引用了System.Core,以便我可以使用TimeZoneInfo类。我已经看到有关在SSRS中使用此课程的其他问题,我无法在这些问题中的任何建议之后解决问题。

REF

Working with Time Zones in SSRS

SSRS 2k8, custom dll, file not found

Reporting Services 2012 deploy error: "Error while loading code module"

我可以引用System.Core 4.0并在本地运行而不会出现任何问题;但是,当我部署时,我收到上面的错误消息。为了进一步澄清......在部署过程中发生这种情况,而不是在部署并尝试在服务器上运行报告之后。

修改

CodeModules的报告RDL xml如下所示:

<CodeModules>
<CodeModule>System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

  

这就像我所知道的那样“嵌入”。从它的外观来看它真的只是一个装配的参考。

非常感谢协助。

由于您无法引用4.0,因此可以引用3.5以获取对TimeZoneInfo类的访问权限。

步骤1.为您希望使用的TimeZoneInfo逻辑创建一个包装类

步骤2.目标3.5

步骤3.构建发行版并将其复制到[DRIVE]:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies目录,以便设计人员可以加载它

步骤4.将同一程序集部署到SQL Server @以下文件夹 [驱动器]:\ Program Files \ Microsoft SQL Server \ MSRS10.SQL2008 \ Reporting Services \ ReportServer \ bin \

现在您可以部署报告了。 所以我的错误如下

  1. 我没有参考3.5

  2. 我没有复制到我的visual studio实例的正确目录来获取程序集。我已将我的安装移动到另一个目录,但我没有把它放在新路径中。

  3. 更新 如果有人试图在SSRS 2012及更高版本中引用.NET 4.0并仍然出错,答案很简单。 SSRS 2012和2014(?)仍然不支持.NET 4.0

    source

    这个似乎表明SSRS 2014也不支持它(我说不出话,MICROSOFT!) MS KB

1 个答案:

答案 0 :(得分:0)

根据要求:

解决方案

由于您无法引用4.0,因此可以参考3.5以获取对TimeZoneInfo类的访问权。

步骤1.为您希望使用的TimeZoneInfo逻辑创建一个包装类

步骤2.目标3.5

步骤3.构建发行版并将其复制到[DRIVE]:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ PrivateAssemblies目录,以便设计人员可以加载它

步骤4.将同一程序集部署到SQL Server @以下文件夹[DRIVE]:\ Program Files \ Microsoft SQL Server \ MSRS10.SQL2008 \ Reporting Services \ ReportServer \ bin \

现在您可以部署报告了。所以我的错误如下

我没有参考3.5

我没有复制到我的visual studio实例的正确目录来获取程序集。我已将我的安装移动到另一个目录,但我没有把它放在新路径中。