首页 > 解决方案 > 将 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

标签: c#wpfmsbuild

解决方案


推荐阅读