C# Windows 上的网络打印机服务挑战

Network Printer on C# Windows Service Challenge

提问人:Maryam Mikog 提问时间:7/3/2023 最后编辑:Maryam Mikog 更新时间:7/3/2023 访问量:55

问:

我在 .Net Framework 4.5.2 上有一个 C# Windows 服务,如下所示,并看到了一个很好的挑战。当我在调试模式下运行此程序时,找到了网络共享打印机并且一切正常,但是当我将其更改为 VS 的发布模式时,我的应用程序找不到该网络共享打印机。 (提示:以下代码仅存储最后一项,但这是我代码的简短部分, 当我在 VS 上以发布模式获取所有打印机时,共享打印机列表中没有一个)

private static PrinterSettings GetPrinter(string printerName)
        {
            var printer = new PrinterSettings();
            foreach (string item in PrinterSettings.InstalledPrinters)
            {
                printer.PrinterName = item;
              
        }
}

问题出在哪里?我该如何解决这个问题?

C# .NET Windows Web 服务 WCF

评论

0赞 Corvus 7/3/2023
为什么您认为“找不到网络共享打印机”?您只在列表中存储最后一台打印机的名称,并且从不公开该名称。
0赞 Maryam Mikog 7/3/2023
@Corvus不,这只是我的代码示例的一部分。请尝试发现网络共享打印机,之后您会感到惊讶。
0赞 QI You 7/3/2023
通常,这两种模型在某些方法的变量上有所不同。您给出的代码无法重现,我认为调用System.Drawing.Printing可能存在问题。您可能不需要在调试模式下引入变量,但需要在发布模式下添加变量。

答: 暂无答案