В течение последних нескольких дней я пытался решить эту проблему снова после нескольких месяцев игнорирования.
Я выбрал часть, которая вызывает проблемы, сводящую программу к простой сериализации и десериализации.Кажется, что MemoryStream или CSharpSyntaxNode при первом использовании в программе не хотят, чтобы это была первая операция десериализации.Но возникает вопрос: почему один из этих объектов чувствителен к той операции, которую вы запускаете первой?
Шаги для воссоздания:
1. Откройте программу, начните, чтобы у вас было значениеполучить узел и установить массив байтов столько раз, сколько вы хотите. Инициация
2a.Перезапустите программу и установите байтовый массив в значение до перезапуска, затем получите узел.Это вылетит Restart-A
2b.Перезапустите программу, запустите тест , установите байтовый массив в значение до перезапуска, затем получите узел.Это будет работать. Restart-B
Вот ссылка на проект .Используется чистое ядро 2.1.