C# 系统格式异常+;打印票

C# 系统格式异常+;打印票,c#,xml,printing,formatexception,C#,Xml,Printing,Formatexception,我有一个问题,我不知道如何解决它。特别是我在project(C#,VB 2015)工作,处理订单、收据等,当我在调试模式下运行时,一切都很好。但是,当我设置项目并运行应用程序时,出现了以下错误: System.FormatException: PrintTicket XML is not well-formed. Root element is missing. ---> System.Xml.XmlException: Root element is missing. at Sys

我有一个问题,我不知道如何解决它。特别是我在project(C#,VB 2015)工作,处理订单、收据等,当我在调试模式下运行时,一切都很好。但是,当我设置项目并运行应用程序时,出现了以下错误:

System.FormatException: PrintTicket XML is not well-formed. Root element is missing. ---> System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.Load(Stream inStream)
   at MS.Internal.Printing.Configuration.InternalPrintTicket..ctor(Stream xmlStream)
   --- End of inner exception stack trace ---
   at MS.Internal.Printing.Configuration.InternalPrintTicket..ctor(Stream xmlStream)
   at System.Printing.PrintTicket..ctor(Stream xmlStream)
   at System.Printing.Interop.PrintTicketConverter.InternalConvertDevModeToPrintTicket(PTProviderBase provider, Byte[] devMode, PrintTicketScope scope)
   at System.Printing.PrintTicketManager.ConvertDevModeToPrintTicket(Byte[] devMode)
   at System.Printing.PrintQueue.get_UserPrintTicket()
   at Simple.Printing.PrintService.PrintOrder(IEnumerable`1 templates, Order order, Shift shift, IList`1 printingPosts, SimpleConfiguration configuration, Boolean showPrices, Invoice invoice, Boolean skipPosts, Int32 postPosition)
   at Simple.Domain.Services.OrderService.<>c__DisplayClass3c.<PrintOrder>b__39()

我需要看看xml文件的示例。这看起来与之前的帖子类似,我在帖子中给出了一个很好的解决方案:我不使用任何xml文件。我只是创建一个printticket,然后像这样打印一个xml类:OrderKitchen2 Receive=new OrderKitchen2(model);可视=(UIElement)receipt.FindName(“可视”);var stackpanel=(stackpanel)可视;stackpanel.测量。。。stackpanel.安排。。var paginator=新的VisualAginator(可视为框架元素);paginator.PageSize=。。。paginator.PrinterMargins=。。。对话框。打印文档(分页器);不是真的。代码正在解析xml字符串或读取xml文件。我需要看看xml来解决这个问题。我认为GetPrintCapabilities()返回了一个xml字符串,或者票证无效。这里也有同样的问题。XML异常发生在.NET Framework中,而不是我的代码中。@GiannisTsilafakis:您是否仅在一台特定的打印机上发生此错误?对于我们来说,这似乎只发生在一个特定的POS热敏打印机上。我需要查看xml文件的示例。这看起来与之前的帖子类似,我在帖子中给出了一个很好的解决方案:我不使用任何xml文件。我只是创建一个printticket,然后像这样打印一个xml类:OrderKitchen2 Receive=new OrderKitchen2(model);可视=(UIElement)receipt.FindName(“可视”);var stackpanel=(stackpanel)可视;stackpanel.测量。。。stackpanel.安排。。var paginator=新的VisualAginator(可视为框架元素);paginator.PageSize=。。。paginator.PrinterMargins=。。。对话框。打印文档(分页器);不是真的。代码正在解析xml字符串或读取xml文件。我需要看看xml来解决这个问题。我认为GetPrintCapabilities()返回了一个xml字符串,或者票证无效。这里也有同样的问题。XML异常发生在.NET Framework中,而不是我的代码中。@GiannisTsilafakis:您是否仅在一台特定的打印机上发生此错误?对我们来说,这似乎只发生在一个特定的POS热敏打印机上
var printer = dialog.PrintQueue;
var ticket = printer.UserPrintTicket ?? printer.DefaultPrintTicket;
var capabilities = printer.GetPrintCapabilities(ticket);
ticket.CopyCount = post.Copies > 0 ? post.Copies : ticket.CopyCount;