Har*_*ada 8 reporting-services ssrs-2008
前言:
开发环境:在本地机器上使用BIDS + MSSQL 2012的Visual Studio 2010
生产环境:用于Live Report Server的MSSQL 2008 R2
我在报表中引用System.Core时遇到部署报表的问题.错误如下.
加载代码模块时出错:'System.Core,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'.详细信息:无法加载文件或程序集"System.Core程序,版本= 4.0.0.0,文化=中性公钥= b77a5c561934e089"或它的一个依赖.此程序集由比当前加载的运行时更新的运行时构建,无法加载.
我在我的报告中引用了System.Core,以便我可以使用TimeZoneInfo类.我已经看到有关在SSRS中使用此课程的其他问题,我无法在这些问题中的任何建议之后解决问题.
REF
Reporting Services 2012部署错误:"加载代码模块时出错"
我可以引用System.Core 4.0并在本地运行而没有任何问题; 但是,当我部署时,我收到上面的错误消息.为了进一步澄清......在部署过程中发生这种情况,而不是在部署并尝试在服务器上运行报告之后.
编辑
CodeModules的报告RDL xml如下所示:
<CodeModules>
<CodeModule>System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Run Code Online (Sandbox Code Playgroud)
这就像我所说的那样"嵌入"一样多.从它的外观来看它真的只是一个装配的参考.
非常感谢协助.
解决方案 由于您无法引用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实例的正确目录来获取程序集.我已将我的安装移动到另一个目录,但我没有把它放在新路径中.
更新 如果有人试图在SSRS 2012及更高版本中引用.NET 4.0并仍然出错,答案很简单.SSRS 2012和2014(?)仍然不支持.NET 4.0
这个似乎表明SSRS 2014也不支持它(我说不出话,MICROSOFT!) MS KB
按照要求:
解决方案
由于无法引用 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 实例的正确目录来获取程序集。我已将安装移动到另一个目录,但没有将其放在新路径中。
归档时间: |
|
查看次数: |
3726 次 |
最近记录: |