1

Crystal Report を開いて更新し、指定した場所に PDF として保存する、非常に単純な C# コンソール アプリケーションを作成しました。

VS2005 内で実行すると、すべて正常に実行されます。pdf ファイルは期待どおりに生成されます。.exe をルート C: ドライブにコピーしてコマンド ラインから実行すると、「CrystalGenerator が動作を停止しました」というダイアログ ボックスが表示されますが、pdf ファイルはまだ生成されています。このダイアログの考えられる原因を調べると、未処理の例外が発生したことを示していますが、Main メソッドの内容全体が try/catch 内に含まれているため、それは私の問題ではありません。

イベント ログを見ると、「挿入インデックス (%1) の置換文字列が見つかりませんでした」というエントリが多数ありますが、これが何を意味するかについての適切な説明が見つかりません。

利点は、Server 2003 を実行しているボックス (実行する予定の場所) にファイルをコピーすると、コマンドがエラーなしで実行されることですが、Vista でアプリが誤動作する理由とその解決方法を知りたいです。

前もって感謝します。

4

3 に答える 3

1

昇格したコマンドプロンプトからアプリを実行した場合(WinKeyに続いてcmdを押してからCtrl + Shift + Returnを押す)、それは機能しますか?

呼び出しているプロセスの1つに昇格が必要な可能性があります。

于 2008-11-28T12:36:55.440 に答える
1

何らかの理由でスタックオーバーフローが発生した場合、コールスタックを確実に巻き戻す方法がないため、キャッチできません。

そのような状況では、アプリケーションはあなたが言ったように動作します。

于 2008-12-25T02:36:30.207 に答える
0

多くのリンク追跡の後、この動作は「仕様による」ように見えます!

StackOverflows の Jeff Atwood が問題を経験し (ここを参照)、Microsoft Connect で問題を提起しました (ここを参照)。

コードはServer 2003で動作しますが、別のアプローチを探しているようです。

非常に役立つ提案をしてくれた divo に感謝します。

于 2008-12-01T09:17:15.403 に答える