首页 > 其他分享 >WPF下 Console.WriteLine()函数打印的内容不会输出到VS的输出窗口

WPF下 Console.WriteLine()函数打印的内容不会输出到VS的输出窗口

时间:2023-03-24 18:33:26浏览次数:33  
标签:输出 Console Encoding TextWriter VS WriteLine public

问题:

在技术群里面看到有人问这样一个问题。

.net core下的wpf项目 把框架改成了net framework4.8 之后,使用Console.WriteLine 的值不会输出到VS的Output窗口

这个我想着 很简单啊 换成 Trace.WriteLine 解决。

问题又丢过来了,项目内已经有很多地方写好了Console.WriteLine() 而且不想通过这种方式

 

思路:

C#内的Console.WriteLine() 其实不是一成不变的,换句话就是,它的逻辑不是死的,内部是通过了一个

TextWriter类型的实例,使用适配器模式做了个中转,只要想办法替换掉 TextWriter的实现就可以自定义输出逻辑了。

Console类也提供了这么一个API

 

 

解决办法:

 

 自定义一个TextWriter类的实例,重写需要重定向的方法

class OverrideTextWriter : TextWriter {
     public override Encoding Encoding - Encoding.UTF8;
     public override void WriteLine(string value)
      {
            Trace.WriteLine(value ):
             base.WriteLine(value);
      }
}

 使用Console.SetOut() 替换默认的TextWriter实现(可以写在到程序的入口)

public App() 
{
    Console.SetOut(new OverrideTextWriter();
}

问题解决!

标签:输出,Console,Encoding,TextWriter,VS,WriteLine,public
From: https://www.cnblogs.com/lymazj/p/17253018.html

相关文章

  • vs使用基本知识
    1、代码创建步骤     文件--新建项目--空项目--项目名称--右侧源文件--新建项--C++文件(名称.c)--写代码2、代码调试一闪而过     项目名称--属性--链接......
  • vs code中运行 npm run dev 为什么一直报错:找不到package.json
    百度了千万次也没有答案,结果我自己造成的原因是我一直在最外层OA中运行指令,当然没有package.json了,虽然我的本意是在vue-admin...中运行。祸根就是我直接点了顶部的这个只要......
  • VScode使用技巧
    快捷键CTRL+SHIFT+X进入扩展界面安装插件!+Tab快速创建HTML模板Ctrl+Shilft+K删除一行Ctrl+Shift+P,F1 显示命令面板ShowCommandPalette VScode快捷键......
  • VS中.net项目多版本常用配置
    说明:1、进行项目多版本配置前,请参阅:.NET、MSBuild和VisualStudio版本控制概述2、本身不带Form的.Net项目及带Form的.Net项目配置略有不同:需要使用winform时,使用:<UseWind......
  • strokeplug.net - vscode
    functiongetWindowByProcessName(pName){if(!pName||pName.lenght<1)return;letwnds=sp.AllApplications();letresult=newArray();for......
  • vscode 配置git 终端
    vscode版本:1.76.2(2023)点击查看版本详细信息版本:1.76.2(usersetup)提交:ee2b180d582a7f601fa6ecfdad8d9fd269ab1884日期:2023-03-14T17:55:54.936ZElectr......
  • Winform程序在VS中打包成安装程序(带卸载)
    场景在VS中进行Winform开发时,可以直接在项目上右击选择生成则会在项目的bin目录下直接生成exe等文件,此时将这个文件夹直接整个复制到别的地方就可以运行。但是如果将其做成......
  • vscode设置免密登陆remote-ssh
    确保本机上有ssh,如果没有的话安装一个。在vscode中安装remote-ssh插件,并连接到服务器生成钥匙对在本地使用ssh-keygen来生成私钥-公钥对,注意如果你有多个服务器需要......
  • [转]使用vs将应用程序打包成安装包,并设置图标、卸载程序等
    一、添加MicrosoftVisualStudioInstallerProjects工具-》扩展和更新–》联机–》搜索MicrosoftVisualStudioInstallerProjects下载完成后后安装,他会提醒......
  • ubuntu apt安装指定版本vscode
    列出vscode所有版本$apt-cachemadisoncodecode|1.76.1-1678294265|http://packages.microsoft.com/repos/codestable/mainamd64Packagescode|1......