前言:
开发环境: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 \
现在您可以部署报告了。 所以我的错误如下
答案 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实例的正确目录来获取程序集。我已将我的安装移动到另一个目录,但我没有把它放在新路径中。