代码之家  ›  专栏  ›  技术社区  ›  Nathan

SSRS Dundas自定义代码未执行

  •  1
  • Nathan  · 技术社区  · 16 年前

    我在SSRS报告中使用了一个Dundas图表,在后初始化事件中使用了一些自定义代码,如下所示:

    foreach(CustomLabel curLabel in chartObj.ChartAreas[0].AxisY.CustomLabels)
    {
        curLabel.GridTick = GridTick.None;
        curLabel.Text = Convert.ToString(Convert.ToInt32(curLabel.Text) - 10);
    }
    

    它接受每个轴标签并将值减少10。

    这在我的机器上非常有效,甚至在报表查看器的生产服务器上也很有效。但当此报告作为订阅运行时,代码无法运行。报告生成的结果很好,但轴标签保持不变。

    这怎么会发生?作为订阅运行报表有什么不同?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Nathan    16 年前

    经过多次探索,我找到了解决这个问题的办法。

    问题是我的开发机器上的Dundas版本比生产中的版本(2.2v2.1)稍新。我想这会导致代码程序集不可信。(但仅在无人值守的情况下运行?)

    显而易见的解决方案是升级服务器,或者降级我的开发机器,以便版本号匹配。我无法触摸服务器上的安装,降级我自己的机器需要很长时间,而且很烦人。但还有另一个解决办法。

    找到安装了正确版本的dundas的计算机,在Visual Studio中打开报告,打开代码,进行表面处理(如添加空行或注释),然后编译代码。此报表现在将包含“正确”程序集。将其部署到服务器上,一切都会正常工作。

    推荐文章