Как включить детали исключения в пользовательское диагностическое предупреждение?C#

Место общения программистов C#
Ответить
Anonymous
 Как включить детали исключения в пользовательское диагностическое предупреждение?

Сообщение Anonymous »

У меня есть генератор источника C#, и я хочу сообщить о предупреждении, если исключение будет добавлено во время самого поколения. < /p>
Я могу успешно поднять предупреждение с описанием Однако я не могу найти способ включить дополнительные детали, которые я видел в других предупреждениях, о которых сообщается.
Вот что у меня есть:
[Generator]
public sealed partial class MyGenerator : ISourceGenerator
{
private static readonly DiagnosticDescriptor UnexpectedErrorDiagnostic = new DiagnosticDescriptor(
id: "MYCUSTOMID001",
title: "Unexpected Error During Generation",
messageFormat: "Error for object",
category: "Design",
DiagnosticSeverity.Warning, isEnabledByDefault: true);

public void Execute(GeneratorExecutionContext context)
{
try
{
// Some logic, which might throw an exception
}
catch (Exception ex)
{
context.ReportDiagnostic(Diagnostic.Create(UnexpectedErrorDiagnostic, Location.None));
}
}
}
< /code>
Когда это поднимается, код и описание устанавливаются правильно: < /p>

То, что я хочу сделать, хотя включите детали исключения в эту же диагностику, чтобы предупреждение могло быть Расширен, как я вижу с некоторыми другими предупреждениями:
< /p>
Я попытался установить свойства свойства во время Diagnostic.create, но они нигде не показаны. < /P>
Как мне включить эту дополнительную информацию в пользовательскую диагностику?

Подробнее здесь: https://stackoverflow.com/questions/701 ... ic-warning
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»