c# - 将 ConsoleLogger 消息绑定到 TextBox
问题描述
我正在尝试为 C# 编写一个简单的 IDE。我已经实施了这样的建筑项目:
var path = ProjectPath;
var props = new Dictionary<string, string>
{
{"Configuration", "Debug"},
{"Platform", "AnyCPU"},
{"OutputPath", ProjectPath}
};
var pc = new ProjectInstance(path, props, "14.0");
var logger = new ConsoleLogger();
logger.Verbosity = LoggerVerbosity.Diagnostic;
var buildParams = new BuildParameters()
{
DetailedSummary = true,
Loggers = new List<ILogger> { new ConsoleLogger() },
DefaultToolsVersion = "14.0"
};
var targets = new List<string> { "PrepareForBuild", "Build" };
var reqData = new BuildRequestData(pc, targets.ToArray());
BuildManager.DefaultBuildManager.BeginBuild(buildParams);
var buildResult = BuildManager.DefaultBuildManager.BuildRequest(reqData);
我的 XAML 文件中有一个文本框,我想将它与 ConsoleLogger 消息绑定。Control
但是,ConsoleLogger 对象的工作原理与WPF 中的对象完全不同。我最初的直观想法是简单地编写一个事件处理程序来处理错误和消息,但ConsoleLogger
不允许我这样做。我将如何解决这个问题?
注意:.NET 周围有很多ConsoleLogger
类,我特意说的是:Microsoft.Build.BuildEngine.ConsoleLogger
解决方案
推荐阅读
- python - 花括号中的for循环是什么意思?
- security - 页面正文中的会话令牌
- c# - Xamarin.Forms TcpClient TtlExpired
- java - 在 JBOSS EAP7 中设置 JConsole 远程的问题
- javascript - js数组如何按堆栈表
- java - 访问元素接口/实现 Java
- c# - 将 guid 作为主键插入对象获取集时出错
- lambda - Java 8 将操作元素的循环转换为 lambda 流
- sql - 在 Oracle SQL Developer 中搜索包含空格的字符串
- jquery - 引导下拉菜单不起作用(尽管在 bootstrap.js 之前包含 jquery)