今天在使用水晶报表的过程中,遇到了这个问题,下面是代码
FormReportView form = new FormReportView();
ReportDocument rptc = new ReportDocument();
string rptFile = Application.StartupPath + @"\report\PurchasingOrder.rpt";
rptc.Load(rptFile);
DataTable dt = OrderBL.SelectPurchasingPlanRpt(SysConfig.Storage, (int)cmb_plan_status.SelectedValue, dtpStart.Value, dtpEnd.Value);
rptc.Database.Tables[].SetDataSource(dt);//这行报错
form.crystalReportViewer1.ReportSource = rptc;
form.ShowDialog();
然后就懵了,求助百度,搜到了三篇文章,下面献上链接:
1)http://www.cnblogs.com/Aaxuan/p/6904134.html
2)http://www.cnblogs.com/xinyuyuanm/archive/2013/05/08/3067684.html
3)https://blog.csdn.net/zlbcdn/article/details/8925121?E0247F9612C0
按照上面说的,在app.config文件中加上了
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
真的就不报错了,但是还是不明白为什么。如果有大神知道,还请留言解惑,多多交流呀~,写这篇主要也是记录一下遇到的问题,便于以后查看。