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 に答える