只要一调用PrintDialog类的PrintXXX方法就报FatalExecutionEngineError,错误内容是:检测到 FatalExecutionEngineError Message: 运行时遇到了错误。此错误的地址为 0x58e29ddd,在线程 0xfb4 上。错误代码为 0x80131623。此错误可能是 CLR 中的 bug,或者是用户代码的不安全部分或不可验证部分中的 bug。此 bug 的常见来源包括用户对 COM-interop 或 PInvoke 的封送处理错误,这些错误可能会损坏堆栈。下面是最简单的调用,其他任何在网络上下的打印项目都报这个错误:        private void button1_Click(object sender, RoutedEventArgs e)
        {
            PrintDialog dialog = new PrintDialog();
            dialog.PageRangeSelection = PageRangeSelection.AllPages;
            if (dialog.ShowDialog() == true)
            {
                dialog.PrintVisual(this.canvas1, "canvas");
            }
        }<Grid>
        <Canvas Name="canvas1">
               <TextBlock Canvas.Left="56" Canvas.Top="46" Text="打印测试"/>
        </Canvas>
        <Button Content="Button" Name="button1"Click="button1_Click" />
</Grid>

解决方案 »

  1.   

    情况经想像中的更严重,一调用PrintDialog的任何属性和方法均会出现此错误,不知如何解决。
    楼主现在有没有解决方案?
      

  2.   

    今天突然也遇到这个问题,how do it ?
      

  3.   

    http://social.microsoft.com/Forums/en-US/visualcshartzhchs/thread/34d59fcd-e000-457c-966d-26f7984a2e53  看看这个贴子也许有帮助还有这个
    http://blog.csdn.net/johnsuna/article/details/1816317这个
    http://blog.sina.com.cn/s/blog_624dc0120100ld6m.html
      

  4.   

    最近做另外一个项目,没有报错……
                PrintDialog print = new PrintDialog();
               // print.PageRangeSelection = PageRangeSelection.AllPages;
                if (print.ShowDialog() == true)
                {
                    try
                    {
                        print.PrintVisual(textBlock1, "test"); 
                                                               
                    }
                    catch
                    {
                        MessageBox.Show("打印组件调用错误,请检查系统驱动安装!");
                    }
                   
                }System.Object 
      System.Windows.Controls.PrintDialog 
    需要注意的是:不要将System.Windows.Controls.PrintDialog与System.Windows.Forms.PrintDialog混淆了,后者用于WinForm应用程序中。System.Windows.Controls.PrintDialog则用于Windows Presentation Foundation (WPF)应用程序中。