System.ComponentModel.Win32Exception(0x80004005):服务器RPC不可用

时间:2013-07-31 17:20:27

标签: c# exception printing

抱歉复制,但我有另一种情况。 我有一个实现printPreview和打印过程的小程序。

private void printDocument1_PrintPage(object sender, Drawing.Printing.PrintPageEventArgs e)
{
    e.Graphics.DrawString(
        "Hello World",
        new Font("Times New Roman", 16, FontStyle.Bold),
        Brushes.Black, 10, 10);
}

private void button1_Click(object sender, EventArgs e)
{
    string str = "";
    for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++)
    {
        str += PrinterSettings.InstalledPrinters[i] + "\n";
    }

    MessageBox.Show(str);

    try
    {
        printPreviewDialog1.Document = printDocument1;
        PrinterSettings prnSet = new PrinterSettings();

        if (PrinterSettings.InstalledPrinters.Count > 0)
        {
            PageSettings ps = new PageSettings(prnSet);
            ps.Margins.Left = 10;
            ps.Margins.Right = 20; ps.Margins.Top = 10; ps.Margins.Bottom = 20;
            printPreviewDialog1.ShowDialog();
        }            
    }
    catch (Exception ex) { MessageBox.Show(ex.ToString()); }            
}

private void button2_Click(object sender, EventArgs e)
{
    printDialog1.Document = printDocument1;
    printDialog1.ShowDialog();
}

当我从VS运行它时,一切正常,但是当我从发布文件夹运行它时 - 我得到了这个例外:

System.ComponentModel.Win32Exception (0x80004005): Server RPC is unavailable
    at System.Drawing.Printing.PrinterSettings.get_InstalledPrinters()
    at printStudy.Form1.button1_Click(Object sender, EventArgs e) in c:\printStudy\Form1.cs:line 37
    at System.Windows.Forms.Control.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ButtonBase.WndProc(Message& m)
    at System.Windows.Forms.Button.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

我尝试重启打印机假脱机过程但没有结果。 (用户具有管理员权限)。

P.S。我设置了Debug-&gt; Exceptions检查VS中抛出的所有内容,因为VS在调试过程中向我显示了任何异常,但VS启动程序没有任何问题。从release / debug文件夹运行时为什么会出现问题?以及如何解决?

0 个答案:

没有答案