我目前在.rdl文件中的代码块中有一组包含许多常用功能的报告。显然这带来了可维护性问题,我想知道是否有人知道这些不同的报告共享通用代码库的方法?
理想情况下,我想将.Net程序集附加到Reporting Services项目中,我的所有报表都可以从中访问和调用函数。这将避免每次需要对通用功能进行更改时尝试更新和重新部署约100个报告的麻烦。
有什么建议么?
我为此感到非常痛苦,因此希望这对某人有帮助。您可以从MSDN文章中获得它,但以下几点可以帮助您更快地完成任务。
不要忘记将其添加到您的rssrvpolicy.config文件中:
<CodeGroup class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust"
Name="MyCodeGroup"
Description="Code group for my data processing extension">
<IMembershipCondition class="UrlMembershipCondition"
version="1"
Url="C:\pathtocustomassembly\customassembly.dll"
/>
</CodeGroup>
我忘记这样做了,我讨厌了一段时间。
另外,不要忘了用新的dll来打以下2005年的以下两个文件夹:
Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies
Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin
另外,不要在您的程序集中使用log4net。我无法使其工作。也许有人可以但是我却没有。
另外,如果您像我一样搞乱了,在关闭Visual Studio之前将无法删除文件。
另外,使您的方法是共享的或静态的。更容易。
创建一个部署批处理文件。就像是:
@ECHO OFF
REM Name: SRSDeploy_Local.bat
REM
REM This batch files copies my custom assembly to my Reporting Services folders.
REM
REM This is the SQL Server 2005 version:
copy "C:\Projects\Common\lib\SCI.Common.SSRSUtils.dll" "C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies"
copy "C:\Projects\Common\lib\SCI.Common.SSRSUtils.dll" "C:\Program Files\Microsoft SQL Server\MSSQL.2\Reporting Services\ReportServer\bin"
最后,在预览之前先生成报告。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。