我有一个 sln,其中一个控制台应用程序是解决方案的启动器。
如何从库项目登录到控制台?
(我的意思是 dll 项目可能不允许这样做,
因为它并不总是由控制台应用程序运行。有时通过其他框架,不是吗?)
最佳答案
从技术上讲,任何代码都可以使用 System.Console
类写入控制台。但是,出于多种原因,图书馆这样做并不是好的形式,包括:
- 写入控制台的成本相对较高,因为同步需要进程范围的锁
- 从库写入控制台可能会惹恼任何从控制台应用程序使用该库的人。这可能会使库成为一种障碍,以至于不会在这种情况下使用
相反,您通常会使用日志抽象,例如 System.Diagnostics.TraceSwitch
或日志库(如 log4net)提供的日志抽象。 .然后,您可以配置应用程序以将日志记录语句重定向到控制台、另一个文件、数据库或您真正喜欢的任何内容。
关于c# - 如何从非控制台应用程序项目写入控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9863955/