1

以前は正常に機能していた家族経営のWPFアプリケーションを作成しました。先月彼らはPCをフォーマットし、今回はXPをインストールしました。アプリケーションは引き続き機能しますが、請求書またはその他の印刷アクションが実行されるとすぐにクラッシュします。

以下はコードです。この問題の回避策を教えてください。そうでない場合は、Windows7を再度インストールする必要があります。

private void printButton_Click(object sender, RoutedEventArgs e)
{
    string path = Directory.GetCurrentDirectory();
    PrintInvoice pi = new PrintInvoice();
    pi.DataContext = this.DataContext;
    PrintDialog printDlg = new System.Windows.Controls.PrintDialog();
    if (printDlg.ShowDialog() == true)
    {
        pi.Measure(new Size(printDlg.PrintableAreaWidth,
        printDlg.PrintableAreaHeight));
        pi.Arrange(new Rect(new Size(printDlg.PrintableAreaWidth, printDlg.PrintableAreaHeight)));
        pi.Margin = new Thickness(40);
        pi.UpdateLayout();

        //now print the visual to printer to fit on the one page.
        printDlg.PrintVisual(pi, "First Fit to Page WPF Print");
    }
    Directory.SetCurrentDirectory(path);
}
4

1 に答える 1

3

一部のお客様が Windows XP にダウングレードしたときに、同様の問題が発生しました。この場合、システム イベント ログからの例外メッセージは

フレームワークのバージョン: v4.0.30319

説明: アプリケーションは、System.Environment.FailFast(string メッセージ) を介してプロセスの終了を要求しました。

メッセージ: 回復不能なシステム エラー

解決策は、ターゲット マシンにMicrosoft XML Paper Specification Essentials Packをインストールすることでした。

于 2013-03-19T12:24:40.407 に答える