2009-04-30 2 views
1

У меня есть график Дундас который используется в отчете SSRS с некоторыми пользовательского кода в PostInitilize Событие, которое выглядит примерно так:SSRS Дундас пользовательского кода не Выполнение

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

Его принимает каждую метку оси и уменьшает значение на 10.

Это отлично работает на моей машине, оно отлично работает на рабочем сервере в средстве просмотра отчетов. Но когда этот отчет запускается как подписка, код не запускается. Отчет генерирует только штраф, но метки оси не изменяются.

Как это могло произойти? Что отличает выполнение отчета как подписки?

ответ

1

После долгих поисков я нашел решение этого.

Проблема в том, что версия Dundas на моей машине разработки была немного новее той, что была в производстве (2.2 v 2.1). Это приводит к тому, что сборка кода не заслуживает доверия. (но только при запуске без присмотра?)

Очевидным решением является обновление сервера или понижение моей машины разработки, чтобы номера версий совпадали. Я не мог дотронуться до установки на сервере, и переоценка моей собственной машины займет много времени и будет раздражать. Но есть еще одно решение.

Найти машину с установленной версией dundas, открыть отчет в Visual Studio, открыть код, сделать поверхностным (например, добавить пустую строку или комментарий), затем скомпилировать код. Этот отчет теперь будет содержать «правильную» сборку. Разверните это на сервере, и все должно работать.