我在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。
这在我的机器上运行良好,它甚至可以在报表查看器中的生产服务器上正常工作。但是当此报告作为订阅运行时,代码无法运行。报告生成得很好,但轴标签不变。
怎么会发生这种情况?将报告作为订阅运行有何不同?
答案 0 :(得分:1)
经过多次搜索,我发现了解决方案。
问题是我的开发机器上的Dundas版本比生产中的版本略高(2.2 v 2.1)。这会导致代码程序集不被信任我猜。 (但只有在无人看管的情况下运行?)
显而易见的解决方案是升级服务器,或降级我的开发机器以使版本号匹配。我无法触及服务器上的安装,降级我自己的机器需要很长时间并且很烦人。但还有另一种解决方案。
找到安装了正确版本的dundas的机器,在Visual Studio中打开报表,打开代码,做一个肤浅的(比如添加空白行或注释)然后编译代码。此报告现在将包含“正确”的程序集。将其部署到服务器,一切都应该工作。