尝试更新应用程序时,我在客户端工作站上遇到以下异常:
System.MissingMethodException:
Method not found: 'Void CrystalDecisions.Windows.Forms.CrystalReportViewer.set_CachedPageNumberPerDoc(Int32)'.
at OpusRw.CrystalReports.CryRepView.InitializeComponent()
at OpusRw.CrystalReports.CryRepView..ctor() in
c:\cli_code\OPUSfin\OPUSfin\CrystalReports\CryRepView.cs:line 21
at OPUSfin.SubForms.PrintScreen.btInsertion_Click(Object sender, EventArgs e) in
c:\cli_code\OPUSfin\OPUSfin\SubForms\PrintScreen.cs:line 55
然而,当我在本地调试代码时,我没有问题。 (更新甚至没有改变相关代码。)
我最初认为这是一个.dll错误并尝试清理解决方案,删除并重新添加.dll无效。
我还可以尝试解决其他问题吗?
答案 0 :(得分:4)
我在vb中编程并遇到了类似的问题。 有一个vb.net应用程序,其中有许多屏幕/表单,每个都有一个CrystalReportViewr(crv)。 在2014年7月之前开发的屏幕工作正常。之后开发的那些不会加载并得到错误: 'Void CrystalDecisions.Windows.Forms.CrystalReportViewer.set_CachedPageNumberPerDoc(Int32)'。 解: 打开'SolutionExplorer'。 转到相关表单并展开“+”符号。 右键单击YourFormName.Designer.vb并选择“查看代码”。 在结果代码窗口中滚动以查找CrystalReportViewer的名称。 注释掉行:“Me.crv1.CachedPageNumberPerDoc = 10”。
我在用户的计算机上重新编译并更新了应用程序并且运行良好。
答案 1 :(得分:0)
Solution。我不知道如何或为什么会发生这种情况,但Crystal Reports运行时引擎必须更新到最新版本(即使我没有在开发框中更新它)。希望能帮助有同样问题的人。