Я пытаюсь сгенерировать некоторый класс с помощью API Roslyn, однако я не могу успешно скомпилировать сгенерированный код из-за этой ошибки.Звучит:
error CS7069: Reference to type 'CancellationToken' claims it is defined in 'System.Runtime', but it could not be found
Я пытаюсь сделать следующее:
var objLocation = typeof(object).GetTypeInfo().Assembly.Location;
var path = new FileInfo(objLocation);
var directory = path.Directory;
Compilation = Compilation.AddReferences(MetadataReference.CreateFromFile(objLocation));
Compilation = Compilation.AddReferences(MetadataReference.CreateFromFile(Path.Combine(directory.FullName, "System.dll")));
Compilation = Compilation.AddReferences(MetadataReference.CreateFromFile(Path.Combine(directory.FullName, "System.Runtime.dll")));
Насколько я понимаю, System.Runtime.dll
- это только заполнитель, который ссылается на разные библиотеки, поэтому я неНе понимаю, почему появляется сообщение и почему компилятор ищет этот тип здесь.
Может ли кто-нибудь указать мне что-то?