Пытаюсь запустить генератор исходного кода C#C#

Место общения программистов C#
Ответить
Anonymous
 Пытаюсь запустить генератор исходного кода C#

Сообщение Anonymous »

Я пытаюсь создать атрибут, который генерирует частный конструктор без параметров с устаревшим тегом, предупреждающим, что это сделано ради десериализации JSON. С этой целью я пытаюсь реализовать генератор. Однако я не могу запустить его в своем целевом проекте.
Файлы .csproj находятся в соответствующих папках, папки расположены рядом.
Это содержимое анализатора .csproj:

Код: Выделить всё



netstandard2.0
false
enable
true
Latest
true







Отрывок из генератора:

Код: Выделить всё

[Generator]
public class PrivateConstructorGenerator : IIncrementalGenerator
{
public void Initialize(IncrementalGeneratorInitializationContext context)
{
Debugger.Break(); // Here for debug, is never run, no traces are logged, no generated files under obj/

var classDeclarations = context.SyntaxProvider
.CreateSyntaxProvider(
predicate: static (s, _) => IsClassWithAttribute(s),
transform: static (ctx, _) => GetSemanticTargetForGeneration(ctx))
.Where(static m => m is not null);

[...]
И это соответствующая часть целевого .csproj:

Код: Выделить всё

OutputType="Analyzer"
ReferenceOutputAssembly="false"/>

Проект найден, собран при пересборке целевого проекта и отображается в VS в разделе «Проекты» (в разделе «Анализаторы» ничего не связано).
Я не понимаю, что делаю не так; все, что я нахожу в документах/вопросах, указывает на то, что это все, что требуется. Буду признателен за совет, спасибо.

Подробнее здесь: https://stackoverflow.com/questions/793 ... tor-to-run
Ответить

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

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

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

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

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