1

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

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

它采用每个轴标签并将值减少 10。

这在我的机器上运行良好,甚至在报表查看器的生产服务器上运行良好。但是,当此报告作为订阅运行时,代码无法运行。报告生成得很好,但轴标签没有改变。

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

4

1 回答 1

1

经过大量搜索,我找到了解决方案。

问题是我的开发机器上的 Dundas 版本比生产中的版本稍新(2.2 v 2.1)。我猜这会导致代码程序集不受信任。(但仅在无人看管的情况下运行?)

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

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

于 2009-04-30T11:40:01.623 回答