我正在寻找一些关于如何在c#程序中使用MSBuild的funktionality的简单答案。原生文档似乎完全没用,因为我只找到如下信息:
ConsoleLogger.ApplyParameter
Applies a parameter to the logger
这是解释的原型,最好从未写过。既不在这里,也不在您找到的参数类型说明下,例如关于参数可能是什么的链接或任何示例,或者它们的名称,或者在哪里找到该信息
我发现的教程都是关于MSBuild作为一个独立的工具。
目前我需要了解,如何获取有关失败构建的更多信息: 此方法只返回true或false。
bool success = project.Build(new string[] { "Build", "Deploy"}, fileLogger);
另外,我需要了解如何配置文件记录器,以及如何从项目中使用它。
Microsoft.Build.Logging.FileLogger fileLogger = new Microsoft.Build.Logging.FileLogger();
答案 0 :(得分:1)
对于您问题中的特定示例,ApplyParameter的工作方式与控制台记录器参数(/ clp)在命令行中的工作方式相同。
> msbuild /?
...
/consoleloggerparameters:<parameters>
Parameters to console logger. (Short form: /clp)
The available parameters are:
PerformanceSummary--Show time spent in tasks, targets
and projects.
Summary--Show error and warning summary at the end.
NoSummary--Don't show error and warning summary at the
end.
ErrorsOnly--Show only errors.
WarningsOnly--Show only warnings.
NoItemAndPropertyList--Don't show list of items and
properties at the start of each project build.
ShowCommandLine--Show TaskCommandLineEvent messages
ShowTimestamp--Display the Timestamp as a prefix to any
message.
ShowEventId--Show eventId for started events, finished
events, and messages
ForceNoAlign--Does not align the text to the size of
the console buffer
DisableConsoleColor--Use the default console colors
for all logging messages.
DisableMPLogging-- Disable the multiprocessor
logging style of output when running in
non-multiprocessor mode.
EnableMPLogging--Enable the multiprocessor logging
style even when running in non-multiprocessor
mode. This logging style is on by default.
Verbosity--overrides the /verbosity setting for this
logger.
Example:
/consoleloggerparameters:PerformanceSummary;NoSummary;
Verbosity=minimal
因此,对于帮助中显示的示例,
logger.ApplyParameter("PerformanceSummary", "NoSummary");
logger.ApplyParameter("Verbosity", "minimal");
如果您需要对从代码附加到构建引擎的记录器进行高度控制,您可能需要考虑编写自己的记录器,而不是尝试解释/解析库存控制台记录器的文本输出。 / p>