in TeamCity.CSharpInteractive/BuildContext/BuildContext.cs [187:226]
private static BuildMessage CreateMessage(IServiceMessage message, BuildMessageState state, string text)
{
var buildMessage = new BuildMessage(
state,
default,
text,
message.GetValue("errorDetails") ?? string.Empty,
message.GetValue("code") ?? string.Empty,
message.GetValue("file") ?? string.Empty,
message.GetValue("subcategory") ?? string.Empty,
message.GetValue("projectFile") ?? string.Empty,
message.GetValue("senderName") ?? string.Empty);
if (int.TryParse(message.GetValue("columnNumber"), out var columnNumber))
{
buildMessage = buildMessage.WithColumnNumber(columnNumber);
}
if (int.TryParse(message.GetValue("endColumnNumber"), out var endColumnNumber))
{
buildMessage = buildMessage.WithEndColumnNumber(endColumnNumber);
}
if (int.TryParse(message.GetValue("lineNumber"), out var lineNumber))
{
buildMessage = buildMessage.WithLineNumber(lineNumber);
}
if (int.TryParse(message.GetValue("endLineNumber"), out var endLineNumber))
{
buildMessage = buildMessage.WithEndLineNumber(endLineNumber);
}
if (Enum.TryParse<DotNetMessageImportance>(message.GetValue("importance"), out var importance))
{
buildMessage = buildMessage.WithImportance(importance);
}
return buildMessage;
}