原帖的地址
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);即可。但是不知道是否稳定