2009-04-30 12 views
1

Ich habe ein Dundas Chart mit einigem benutzerdefinierten Code in dem PostInitilize Ereignisse in einem SSRS-Bericht verwendet werden, die etwa wie folgt aussieht:SSRS Dundas Custom Code Ausführen Nicht

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

Sein nimmt jede Achsenbeschriftung und verringern den Wert von 10.

Das funktioniert gut auf meinem Computer, es funktioniert sogar auf dem Produktionsserver in Report Viewer. Wenn dieser Bericht jedoch als Abonnement ausgeführt wird, kann der Code nicht ausgeführt werden. Der Bericht wird zwar ordnungsgemäß erstellt, die Achsenbeschriftungen sind jedoch unverändert.

Wie könnte das passieren? Was ist anders beim Ausführen eines Berichts als Abonnement?

Antwort

1

Nach langem Suchen habe ich die Lösung dazu gefunden.

Das Problem ist die Version von Dundas auf meiner Entwicklungsmaschine war etwas neuer zu der in der Produktion (2.2 v 2.1). Dies führt dazu, dass die Code Assembly nicht vertrauenswürdig ist. (aber nur wenn unbeaufsichtigt läuft?)

Die offensichtliche Lösung ist, den Server zu aktualisieren, oder Downgrade meiner Entwicklungsmaschine, damit die Versionsnummern übereinstimmen. Ich konnte die Installation auf dem Server nicht anfassen und das Downgrade meiner eigenen Maschine würde zu lange dauern und nervig sein. Aber es gibt eine andere Lösung.

Finden Sie eine Maschine mit der richtigen Version von dundas installiert, öffnen Sie den Bericht in Visual Studio, öffnen Sie den Code, machen Sie eine oberflächliche (wie eine leere Zeile oder einen Kommentar) und kompilieren Sie den Code. Dieser Bericht enthält jetzt die 'richtige' Assembly. Stellen Sie dies auf dem Server bereit, und alles sollte funktionieren.