WPF/控制台混合应用程序

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (8)

我编写的应用程序可以在命令行上运行,也可以使用WPF UI运行。

[STAThread]
static void Main(string[] args)
{
    // Does magic parse args and sets IsCommandLine to true if flag is present
    ParseArgs(args);     

    if(IsCommandLine)
    {
        // Write a bunch of things to the console
    }
    else
    {
        var app = new App();
        app.Run(new Window());
    }
}

我将项目的输出类型设置为控制台应用程序,如果我尝试通过双击exe来执行它,我会弹出一个控制台窗口。如果未设置标志(通过命令args传入),我不想向用户显示控制台窗口。

但是,如果我将项目的输出类型设置为Windows应用程序,双击行为很好,但是当我在控制台中运行它时,我没有控制台输出(Console.Writeline)

提问于
用户回答回答于

你最好的选择是将实际完成工作的代码抽象到一个没有UI的独立类库,然后创建两个应用程序,一个控制台,另一个调用它的WPF。

控制台应用程序和WPF应用程序具有完全不同的应用程序模型,因此您无法在两个应用程序中重用相同的代码。

拥有一个单独的类库允许您执行其他操作,例如在其他应用程序(如网站或客户端/服务器体系结构)中使用它。

热门问答

如何提高调用API网关、scf的请求内容长度限制?

Tina

腾讯云 · 产品经理 (已认证)

Go Serverless!
推荐
您好,当前SCF确实对于同步请求的事件大小,响应大小有相应的限制,最大为6MB。可以参考文档 https://cloud.tencent.com/document/product/583/11637 更多解决方案,欢迎您进入SCF用户q群一起讨论! 群号:537539545 sc...... 展开详请

cmq的实例是否支持调整写入频率?

是否有语音转发功能?

software微软、谷歌、腾讯、阿里、百度……
推荐已采纳
您好,核实下您咨询的是哪个端的问题,目前是没有语音转发功能的。这里提供下android端消息转发的示例参考: https://cloud.tencent.com/document/product/269/9232 image.png ... 展开详请

信令包里面的公网地址为什么都被改成内网地址了?

您描述的原因是云服务器内网ip地址与公网ip地址是一对一映射,故云服务器内显示的是内网ip地址。 如您需要网卡设置公网ip地址,建议您参考下方文档eip直通(已为您开通白名单) EIP 直通:https://cloud.tencent.com/document/product/2...... 展开详请

腾讯云短信SDK有没有支持NETFramework4.5.1的????

您好,可使用腾讯云短信C# SDK,github:https://github.com/qcloudsms/qcloudsms_csharp,感谢您对腾讯云短信的支持。

压力测试无法添加https域名?

所属标签

扫码关注云+社区

领取腾讯云代金券