PrintTicket provider failed to bind to printer. Win32 error: The printer name is invalid

PrintTicket provider failed to bind to printer. Win32 error: The printer name is invalid

我试图在 WPF 应用程序中打印之前显示打印对话框。我正在使用 link

中的 Microsoft 示例代码
// Create the print dialog object and set options
PrintDialog pDialog = new PrintDialog();
pDialog.PageRangeSelection = PageRangeSelection.AllPages;
pDialog.UserPageRangeEnabled = true;

// Display the dialog. This returns true if the user presses the Print button.
Nullable<Boolean> print = pDialog.ShowDialog();

它在最后一行崩溃,但出现以下异常:

PrintTicket provider failed to bind to printer. Win32 error: The printer name is invalid.

我试着寻找解决方案,人们建议的两个是安装打印机服务器功能,然后切换到任何 CPU 构建,但这些都不适用于我的情况。

我创建了另一个空白项目,仅使用来自 Microsoft 的代码,并且运行良好。我开始比较两个项目设置,它们是相同的。最后发现是以下设置导致了问题:

调试->异常...-公共语言运行时异常

我在对其他问题进行故障排除时忘记了它。一旦我取消选中它,我的程序就不再中断异常,并正确显示对话框。