我正在尝试为C#编写一个简单的IDE。我已经实现了像这样的建筑项目:
next
我的XAML文件中有一个TextBox,我想用ConsoleLogger消息绑定。但是,ConsoleLogger对象的工作方式与WPF中的 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);
对象完全不同。我最初的直观想法是简单地编写一个事件处理程序来处理错误和消息,但Control
不允许我这样做。我如何解决这个问题呢?
注意:.NET周围有很多ConsoleLogger
个类,我特别谈到:ConsoleLogger