Report Viewer 导入自定义程序集

来源:互联网 发布:ubuntu 虚拟机 分辨率 编辑:程序博客网 时间:2024/06/06 01:08

原帖的地址

http://www.cnblogs.com/emanlee/archive/2008/10/30/1323294.html

 

下面的按照英文的提示理解的文字,不是100%翻译的文章。

 

操作步骤如下:

一、RDLC文件操作

1、用鼠标点击报表,点击菜单Report=>Report Properties出现对话框

2、选择References,添加程序集。(静态方法可以不用下面的classes下输入任何内容)

3、使用:例如=Test.TestClass.TestMethod()

 

二、类库的创建

1、创建类库

2、创建类、创建静态方法

3、项目属性,点击signing 然后选中sign the assembly输入密码(注意这种方法对于以后的操作复杂)进行签名

4、在AssemblyInfo.cs文件中添加[assembly:AllowPartiallyTrustedCallers]

并using System.Security;

5、编译等待使用

 

将编译出的类库dll文件拷贝到(Visual studio 2008)

C:/Program Files/Microsoft Visual Studio 9.0/Common7/IDE/PrivateAssemblies文件夹下

 

然后
执行visual studio tools->Visual Studio 2008 Command Prompt出现命令提示框

输入gacutil /i AssemblyName.dll执行成功完毕。

 

三、程序代码

使用ReportViewer控制的窗体Load添加以下代码:
this.reportViewer1.LocalReport.ExecuteReportInCurrentAppDomain(AppDomain.CurrentDomain.Evidence);
this.reportViewer1.LocalReport.AddTrustedCodeModuleInCurrentAppDomain("MoneyChangeCase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=72a968adf2909c89");

其他的按照正常操作使用即可。

经过试验得知:

不用签名的类库简单些:

类库不用创建签名,并不用执行gacutil命令

而且不用执行this.reportViewer1.LocalReport.ExecuteReportInCurrentAppDomain(AppDomain.CurrentDomain.Evidence);即可。但是不知道是否稳定

原创粉丝点击